Senior
Испричајте о принципу Code-On-Demand.
sobes.tech АИ
Одговор од АИ
Princip Code-On-Demand (Kod na zahtev) je jedan od opcionih stilova arhitekture interakcije u REST-u, kada server može privremeno proširiti funkcionalnost klijenta slanjem izvršivog koda.
Ovo omogućava da klijent bude tanji, prebacujući deo logike na server, koji se učitava "na zahtev" kada je potrebno.
Primeri upotrebe:
- JavaScript u veb aplikacijama: Server šalje JavaScript kod pretraživaču, koji se izvršava na strani klijenta za implementaciju interaktivnosti, validacije podataka, asinhronih zahteva itd.
- Dodaci i proširenja: Server može obezbediti kod za proširenje funkcionalnosti aplikacije ili klijenta.
Prednosti:
- Smanjenje količine prenetih podataka: Kod se šalje samo kada je potrebno.
- Fleksibilnost: Server može dinamički menjati ponašanje klijenta.
- Tanji klijent: Klijent ne mora da implementira svu moguću funkcionalnost unapred.
Nedostaci:
- Složenost implementacije i bezbednosti: Potreban je mehanizam za pouzdano prenošenje i izvršavanje koda na strani klijenta.
- Performanse: Učitavanje i izvršavanje koda može oduzeti vreme.
// Primer Code-On-Demand na vebu: server šalje JS za validaciju forme
// Server šalje HTML sa formom i skriptom
/*
<html>
<body>
<form id="myForm">
<input type="text" id="myInput">
<button type="submit">Pošalji</button>
</form>
<script src="/validate.js"></script> // Skripta se učitava "na zahtev"
</body>
</html>
*/
// Sadržaj /validate.js
// Ovaj kod se izvršava na strani klijenta nakon učitavanja
document.getElementById('myForm').addEventListener('submit', function(event) {
const input = document.getElementById('myInput');
if (input.value.trim() === '') {
alert('Polje ne može biti prazno!');
event.preventDefault(); // Sprečava slanje forme
}
});