JavaScript front-end logika zerbitzariaren aldean transferitzen duen Pusa web esparrua

Pusa web-esparrua atzeko aldean arakatzailea eta DOM elementuak kudeatzea, baita negozio-logika ere egiten dira. atzealdea. Arakatzailearen aldean exekutatutako JavaScript kodea atzeko aldean kokatutako kudeatzaileak deitzen dituen geruza unibertsal batekin ordezkatzen da. Ez dago JavaScript erabiliz garatu behar frontenderako. Pusa erreferentziaren inplementazioa PHPn idatzita dago eta GPLv3 lizentziapean dago. PHPz gain, teknologia beste edozein hizkuntzatan inplementa daiteke, JavaScript/Node.js, Java, Python, Go eta Ruby barne.

Pusak truke-protokolo bat definitzen du komando multzo minimalista batean oinarrituta. Orria kargatzen denean, arakatzaileak azpiko DOM edukia eta Pusa-Front-en JavaScript core kargatzen ditu. Pusa-Front-ek arakatzailearen gertaerak (adibidez, klika, lausotzea, fokua eta tekla sakatzea) eta eskaera-parametroak (gertaera eragin duen elementua, bere atributuak, URLa, etab.) bidaltzen ditu Pusa-Back zerbitzariaren kudeatzaileari Ajax eskaerak erabiliz. Jasotako datuetan oinarrituta, Pusa-Back-ek kontrolagailua zehazten du, karga exekutatzen du eta komandoen erantzun multzo bat sortzen du. Eskaeraren erantzuna jaso ondoren, Pusa-Front-ek komandoak exekutatzen ditu, DOMaren edukia eta arakatzailearen ingurunea aldatuz.

Frontendaren egoera backend-ek sortzen du baina ez du kontrolatzen, eta horrek Pusa-ren garapena bideo-txartel baten edo Canvas baten kodearen antzekoa egiten du, non exekuzioaren emaitza garatzaileak kontrolatzen ez duen. Canvas-en eta onmousemove-n oinarritutako aplikazio interaktiboak sortzeko, bezeroaren aldetik JavaScript script gehigarriak deskargatu eta erabiltzea posible da. Metodoaren desabantailen artean, kargaren zati bat frontend-etik backend-era transferitzea eta zerbitzariarekin datu-trukearen maiztasuna areagotzea ere badago.

Abantailen artean hauek daude: JavaScript front-end garatzaileen parte-hartzearen beharra ezabatzea, bezero-kode egonkorra eta trinkoa (11kb), kode nagusiaren eskuraezintasuna frontend-etik, REST serializazio eta gRPC bezalako tresnen beharrik ez izatea, ezabatzea. Frontend eta backend-en arteko eskaera bideratzea koordinatzeko arazoak.

Iturria: opennet.ru

Gehitu iruzkin berria