Web-fraimvorku Pusa, që transferon logjikën e JavaScript frontend në anën e serverit

U publikua web-fraimvorku Pusa me implementimin e konceptit që transferon logjikën e frontend-it, e cila kryhet në shfletues me anë të JavaScript, në anën e backend-it - menaxhimi i shfletuesit dhe elementeve DOM, si dhe logjika e biznesit gjithashtu kryhen në backend. Kodi JavaScript i ekzekutuar në anën e shfletuesit zëvendësohet me një ndërfaqe universale, e cila thërret handler-at që ndodhen në anën e backend-it. Nevoja për zhvillim duke përdorur JavaScript për frontend-in nuk ekziston. Implementimi referent i Pusa është shkruar në gjuhën PHP dhe shpërndahet nën licencën GPLv3. Përveç PHP, teknologjia mund të implementohet në çdo gjuhë tjetër, duke përfshirë JavaScript/Node.js, Java, Python, Go dhe Ruby.

Pusa përcakton një protokoll shkëmbimi mbi një grup minimal komandash. Kur ngarkohet faqja, shfletuesi ngarkon përmbajtjen bazë të DOM dhe thelbin JavaScript të Pusa-Front. Pusa-Front, përmes kërkesave Ajax, dërgon ngjarjet e shfletuesit (siç janë click, blur, focus dhe keypress) dhe parametrat e kërkesës (elementi që shkaktoi ngjarjen, atributet e tij, URL etj.) në trajtuesin server të Pusa-Back. Bazuar në të dhënat e marra, Pusa-Back përcakton kontrolluesin, ekzekuton ngarkesën dhe formon një grup komandash përgjigjëse. Pasi të marrë përgjigjen e kërkesës, Pusa-Front ekzekuton komandat, duke ndryshuar përmbajtjen e DOM dhe mjedisin e shfletuesit.

Gjatësia e frontend-it formohet por nuk kontrollohet nga backend-i, çka e bën zhvillimin për Pusa të ngjashëm me kodin për kartelën grafike ose Canvas, ku rezultati i ekzekutimit nuk kontrollohet nga zhvilluesi. Për krijimin e aplikacioneve interaktive mbi bazën e Canvas dhe onmousemove, është e parashikuar mundësia për ngarkimin dhe përdorimin e skenareve të shtesë JavaScript në anën e klientit. Nga disavantazhet e metodës ritheksuar gjithashtu është transferimi i një pjese të ngarkesës nga frontend-i në backend dhe rritja e frekuencës së shkëmbimeve të të dhënave me. сервером.

Mes përfitimeve shquhen: përjashtimi i nevojës për pjesëmarrjen e zhvilluesve JavaScript për frontend-in, kodi i qëndrueshëm dhe i kompakt i klientit (11kB), paprekshmëria e kodit kryesor nga frontend-i, mungesa e nevojës për serializimin e REST dhe mjeteve si gRPC, dhe përjashtimi i problemeve të pajtueshmërisë së rrugëve të kërkesave midis frontend-it dhe backend-it.

Burimi: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster