Webb-ramverket Pusa, som flyttar JavaScript-frontends logik till serverns sida.

Web-ramverket Pusa har publicerats, med en implementering av ett koncept som flyttar frontend-logik, som utförs i webblĂ€saren med hjĂ€lp av JavaScript, till backend-sidan — styrning av webblĂ€saren och DOM-element samt affĂ€rslogik utförs pĂ„ backend. Den JavaScript-kod som körs pĂ„ webblĂ€sarsidan ersĂ€tts med ett universellt lager som kallar pĂ„ hanterare som finns pĂ„ backend. Det finns inget behov av att utveckla frontend med JavaScript. Den referensimplementation av Pusa Ă€r skriven i PHP och distribueras under GPLv3-licensen. Utöver PHP kan teknologin implementeras pĂ„ vilket annat sprĂ„k som helst, inklusive JavaScript/Node.js, Java, Python, Go och Ruby.

Pusa definierar ett kommunikationsprotokoll baserat pÄ en minimalistisk uppsÀttning kommandon. NÀr en sida laddas laddar webblÀsaren det grundlÀggande DOM-innehÄllet och JavaScript-kÀrnan Pusa-Front. Pusa-Front skickar hÀndelser frÄn webblÀsaren (sÄsom klick, blur, fokus och keypress) samt begÀrningsparametrar (det element som utlöste hÀndelsen, dess attribut, URL osv.) till serverhanteraren Pusa-Back via Ajax-anrop. Baserat pÄ de mottagna uppgifterna bestÀmmer Pusa-Back vilken kontroller som ska anvÀndas, kör nyttolasten och formar en responsuppsÀttning med kommandon. Efter att ha fÄtt svaret pÄ begÀran utför Pusa-Front kommandona, vilket Àndrar innehÄllet i DOM och webblÀsarmiljön.

Statusen för frontend skapas men kontrolleras inte av backend, vilket gör utvecklingen för Pusa liknande den kod som anvÀnds för grafikkort eller Canvas, dÀr resultatet av exekveringen inte kontrolleras av utvecklaren. För att skapa interaktiva applikationer baserade pÄ Canvas och onmousemove finns möjligheten att ladda upp och anvÀnda ytterligare JavaScript-skript pÄ klientsidan. Bland nackdelarna med metoden noteras ocksÄ överföringen av en del av belastningen frÄn frontend till backend och en ökad frekvens av datakommunikation. servern.

Bland fördelarna mÀrks: borttagandet av behovet av att involvera frontend JavaScript-utvecklare, stabil och kompakt klientkod (11 kB), otillgÀnglighet av huvudkoden frÄn frontend, ingen behov av att serialisera REST och i verktyg som gRPC, och borttagande av problem med överenskommelse om ruttning av begÀrningar mellan frontend och backend.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster