Senior
Povězte o principu Code-On-Demand.
sobes.tech AI
Odpověď od AI
Princip Code-On-Demand (Kód na požádání) je jedním z volitelných architektonických stylů interakce v REST, kdy server může dočasně rozšířit funkčnost klienta odesláním spustitelného kódu.
To umožňuje, aby byl klient tenčí, přesouváním části logiky na server, který se načítá "na požádání" podle potřeby.
Příklady použití:
- JavaScript ve webových aplikacích: Server posílá JavaScriptový kód prohlížeči, který se na straně klienta vykonává pro realizaci interaktivity, validace dat, asynchronních požadavků atd.
- Pluginy a rozšíření: Server může poskytnout kód pro rozšíření funkčnosti aplikace nebo klienta.
Výhody:
- Snížení objemu přenášených dat: Kód je odesílán pouze tehdy, když je potřeba.
- Flexibilita: Server může dynamicky měnit chování klienta.
- Tenčí klient: Klient nemusí implementovat veškerou možnou funkcionalitu předem.
Nevýhody:
- Složitost implementace a bezpečnosti: Je třeba mechanismus pro spolehlivý přenos a vykonávání kódu na straně klienta.
- Výkon: Načítání a vykonávání kódu může trvat čas.
// Příklad Code-On-Demand na webu: server posílá JS pro validaci formuláře
// Server posílá HTML s formulářem a skriptem
/*
<html>
<body>
<form id="myForm">
<input type="text" id="myInput">
<button type="submit">Odeslat</button>
</form>
<script src="/validate.js"></script> // Skript se načítá "na požádání"
</body>
</html>
*/
// Obsah /validate.js
// Tento kód se vykonává na straně klienta po načtení
document.getElementById('myForm').addEventListener('submit', function(event) {
const input = document.getElementById('myInput');
if (input.value.trim() === '') {
alert('Pole nemůže být prázdné!');
event.preventDefault(); // Zabraňuje odeslání formuláře
}
});