Pusa tīmekļa ietvars, kas pārsūta JavaScript priekšgala loģiku uz servera pusi

Pusa tīmekļa ietvars ir publicēts, ieviešot koncepciju, kas nodod priekšgala loģiku, kas tiek izpildīta pārlūkprogrammā, izmantojot JavaScript, uz aizmugures pusi - tiek veikta pārlūkprogrammas un DOM elementu, kā arī biznesa loģikas pārvaldība. aizmugure. JavaScript kods, kas tiek izpildīts pārlūkprogrammas pusē, tiek aizstāts ar universālu slāni, kas izsauc apstrādātājus, kas atrodas aizmugures pusē. Nav nepieciešams izstrādāt, izmantojot JavaScript priekšgalam. Pusa atsauces ieviešana ir rakstīta PHP un ir licencēta saskaņā ar GPLv3. Papildus PHP, tehnoloģiju var ieviest jebkurā citā valodā, tostarp JavaScript/Node.js, Java, Python, Go un Ruby.

Pusa definē apmaiņas protokolu, pamatojoties uz minimālistisku komandu kopu. Kad lapa tiek ielādēta, pārlūkprogramma ielādē pamatā esošo DOM saturu un Pusa-Front JavaScript kodolu. Pusa-Front nosūta pārlūkprogrammas notikumus (piemēram, klikšķi, aizmiglojumu, fokusu un taustiņu nospiešanu) un pieprasījuma parametrus (elementu, kas izraisīja notikumu, tā atribūtus, URL utt.) Pusa-Back servera apstrādātājam, izmantojot Ajax pieprasījumus. Pamatojoties uz saņemtajiem datiem, Pusa-Back nosaka kontrolieri, izpilda lietderīgo slodzi un ģenerē atbildes komandu kopu. Pēc pieprasījuma atbildes saņemšanas Pusa-Front izpilda komandas, mainot DOM saturu un pārlūkprogrammas vidi.

Priekšgala stāvokli ģenerē, bet to nekontrolē aizmugure, kas padara Pusa izstrādi līdzīgu videokartes vai Canvas kodam, kur izpildes rezultātu nekontrolē izstrādātājs. Lai izveidotu interaktīvas lietojumprogrammas, kuru pamatā ir Canvas un onmousemove, klienta pusē ir iespējams lejupielādēt un izmantot papildu JavaScript skriptus. Starp metodes trūkumiem ir arī slodzes daļas pārnešana no priekšgala uz aizmuguri un datu apmaiņas biežuma palielināšanās ar serveri.

Starp priekšrocībām ir šādas: JavaScript priekšgala izstrādātāju līdzdalības novēršana, stabils un kompakts klienta kods (11 kb), galvenā koda nepieejamība no priekšgala, nav nepieciešama REST serializācija un tādi rīki kā gRPC, novēršot problēmas, kas saistītas ar pieprasījumu maršrutēšanas koordinēšanu starp priekšgalu un aizmuguri.

Avots: opennet.ru

Pievieno komentāru