Pusa web framework na naglilipat ng JavaScript front-end logic sa server side

Na-publish ang Pusa web framework na may pagpapatupad ng isang konsepto na naglilipat ng front-end logic, na isinagawa sa browser gamit ang JavaScript, sa back-end na bahagi - ang pamamahala sa browser at mga elemento ng DOM, pati na rin ang business logic ay isinasagawa sa ang back-end. Ang JavaScript code na naisakatuparan sa gilid ng browser ay pinapalitan ng isang unibersal na layer na tumatawag sa mga humahawak na matatagpuan sa gilid ng backend. Hindi na kailangang bumuo gamit ang JavaScript para sa front end. Ang pagpapatupad ng sanggunian ng Pusa ay nakasulat sa PHP at lisensyado sa ilalim ng GPLv3. Bilang karagdagan sa PHP, ang teknolohiya ay maaaring ipatupad sa anumang iba pang wika, kabilang ang JavaScript/Node.js, Java, Python, Go at Ruby.

Tinutukoy ng Pusa ang isang exchange protocol batay sa isang minimalistic na hanay ng mga command. Kapag nag-load ang page, nilo-load ng browser ang pinagbabatayan na nilalaman ng DOM at ang JavaScript core ng Pusa-Front. Ang Pusa-Front ay nagpapadala ng mga kaganapan sa browser (gaya ng pag-click, blur, focus at keypress) at mga parameter ng kahilingan (ang elementong naging sanhi ng kaganapan, mga katangian nito, URL, atbp.) sa Pusa-Back server handler gamit ang mga kahilingan ng Ajax. Batay sa natanggap na data, tinutukoy ng Pusa-Back ang controller, nagpapatupad ng payload at bumubuo ng isang response set ng mga command. Matapos matanggap ang tugon sa kahilingan, ang Pusa-Front ay nagsasagawa ng mga utos, binabago ang mga nilalaman ng DOM at ang kapaligiran ng browser.

Ang estado ng frontend ay nabuo ngunit hindi kinokontrol ng backend, na ginagawang ang pag-develop para sa Pusa ay katulad ng code para sa isang video card o Canvas, kung saan ang resulta ng pagpapatupad ay hindi kinokontrol ng developer. Upang lumikha ng mga interactive na application batay sa Canvas at onmousemove, posibleng mag-download at gumamit ng mga karagdagang script ng JavaScript sa panig ng kliyente. Kabilang sa mga disadvantages ng pamamaraan, mayroon ding paglipat ng bahagi ng load mula sa frontend hanggang sa backend at isang pagtaas sa dalas ng palitan ng data sa server.

Kabilang sa mga bentahe ay: pag-aalis ng pangangailangan para sa pakikilahok ng JavaScript front-end developer, stable at compact na client code (11kb), hindi naa-access ng pangunahing code mula sa front-end, hindi na kailangan para sa REST serialization at mga tool tulad ng gRPC, inaalis ang mga problema sa pag-coordinate ng pagruruta ng kahilingan sa pagitan ng front-end at back-end.

Pinagmulan: opennet.ru

Magdagdag ng komento