Framework-ul web Pusa, care mută logica front-end JavaScript în partea serverului

A fost publicat framework-ul web Pusa, care implementează o concepție ce transferă logica frontend-ului, efectuată în browser cu ajutorul JavaScript-ului, pe partea de backend - gestionarea browser-ului și a elementelor DOM, precum și logica de afaceri, se desfășoară pe backend. Codul JavaScript executat pe partea browser-ului este înlocuit cu un strat universal care apelează handler-ele situate pe backend. Necesitatea dezvoltării folosind JavaScript pentru frontend nu mai există. Implementarea de referință Pusa este scrisă în PHP și este distribuită sub licența GPLv3. Pe lângă PHP, tehnologia poate fi implementată în orice alt limbaj, inclusiv JavaScript/Node.js, Java, Python, Go și Ruby.

Pusa definește un protocol de schimb bazat pe un set minimalist de comenzi. La încărcarea paginii, browser-ul încarcă conținutul de bază al DOM și nucleul JavaScript Pusa-Front. Pusa-Front, prin intermediul cererilor Ajax, trimite evenimentele browser-ului (cum ar fi click, blur, focus și keypress) și parametrii cererii (elementul care a generat evenimentul, atributele sale, URL-ul etc.) către handler-ul de pe server Pusa-Back. Pe baza datelor primite, Pusa-Back determină controller-ul, execută sarcina utilă și formează un set de comenzi de răspuns. După primirea răspunsului la cerere, Pusa-Front execută comenzile, modificând conținutul DOM și mediul browser-ului.

Starea frontend-ului este generată, dar nu este controlată de backend, ceea ce face dezvoltarea pentru Pusa similară cu codul pentru placa grafică sau Canvas, unde rezultatul execuției nu este controlat de dezvoltator. Pentru a crea aplicații interactive bazate pe Canvas și onmousemove, este prevăzută posibilitatea încărcării și utilizării de scripturi JavaScript suplimentare pe partea clientului. Printre dezavantajele metodei se numără transferul unei părți din sarcină de pe frontend pe backend și creșterea frecvenței schimbului de date. serverul.

Printre avantajele se numără: eliminarea necesității de implicare a dezvoltatorilor JavaScript pentru frontend, codul client compact și stabil (11kB), inaccesibilitatea codului principal din partea frontend-ului, absența necesității de serializare REST și a instrumentelor precum gRPC, eliminarea problemelor de sincronizare a rutelor cererilor între frontend și backend.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster