Senior
Porozprávajte o princípe Code-On-Demand.
sobes.tech AI
Odpoveď od AI
Princíp Code-On-Demand (Kód na požiadanie) je jeden z voliteľných architektonických štýlov interakcie v REST, keď server môže dočasne rozšíriť funkcionalitu klienta odoslaním spustiteľného kódu.
Toto umožňuje, aby bol klient tenší, presúvajúc časť logiky na server, ktorý sa načítava "na požiadanie" podľa potreby.
Príklady použitia:
- JavaScript v webových aplikáciách: Server odosiela JavaScriptový kód prehliadaču, ktorý sa vykonáva na strane klienta na realizáciu interaktivity, validácie dát, asynchrónnych požiadaviek a pod.
- Pluginy a rozšírenia: Server môže poskytnúť kód na rozšírenie funkcionality aplikácie alebo klienta.
Výhody:
- Zníženie objemu prenášaných dát: Kód sa odosiela iba v prípade potreby.
- Flexibilita: Server môže dynamicky meniť správanie klienta.
- Tenší klient: Klient nemusí implementovať všetku možnú funkcionalitu vopred.
Nevýhody:
- Zložitosť implementácie a bezpečnosti: Je potrebný mechanizmus na spoľahlivý prenos a vykonávanie kódu na strane klienta.
- Výkon: Načítanie a vykonanie kódu môže trvať čas.
// Príklad Code-On-Demand na webe: server odosiela JS na validáciu formulára
// Server odosiela HTML s formulárom a skriptom
/*
<html>
<body>
<form id="myForm">
<input type="text" id="myInput">
<button type="submit">Odoslať</button>
</form>
<script src="/validate.js"></script> // Skript sa načítava "na požiadanie"
</body>
</html>
*/
// Obsah /validate.js
// Tento kód sa vykonáva na strane klienta po načítaní
document.getElementById('myForm').addEventListener('submit', function(event) {
const input = document.getElementById('myInput');
if (input.value.trim() === '') {
alert('Pole nemôže byť prázdne!');
event.preventDefault(); // Zabraňuje odoslaniu formulára
}
});