Pusa web framework nga nagbalhin sa JavaScript front-end logic ngadto sa server side

Ang Pusa web framework gipatik uban ang pagpatuman sa usa ka konsepto nga nagbalhin sa front-end logic, nga gipatuman sa browser gamit ang JavaScript, ngadto sa back-end nga bahin - ang pagdumala sa browser ug DOM nga mga elemento, ingon man ang business logic gihimo sa ang back-end. Ang JavaScript code nga gipatuman sa kilid sa browser gipulihan sa usa ka unibersal nga layer nga nagtawag sa mga handler nga nahimutang sa backend nga bahin. Dili kinahanglan nga mag-develop gamit ang JavaScript para sa front end. Ang pagpatuman sa reference sa Pusa gisulat sa PHP ug lisensyado ubos sa GPLv3. Dugang sa PHP, ang teknolohiya mahimong ipatuman sa bisan unsang ubang pinulongan, lakip ang JavaScript/Node.js, Java, Python, Go ug Ruby.

Gihubit sa Pusa ang usa ka protocol sa pagbinayloay base sa usa ka minimalist nga hugpong sa mga mando. Kung nag-load ang panid, gikarga sa browser ang nagpahiping DOM nga sulud ug ang JavaScript core sa Pusa-Front. Ang Pusa-Front nagpadala sa mga panghitabo sa browser (sama sa click, blur, focus ug keypress) ug hangyo ug mga parameter (ang elemento nga maoy hinungdan sa panghitabo, mga hiyas niini, URL, ug uban pa) ngadto sa Pusa-Back server handler gamit ang Ajax requests. Base sa nadawat nga datos, ang Pusa-Back nagtino sa controller, nagpatuman sa payload ug nagmugna og tubag nga set sa mga sugo. Pagkadawat sa tubag sa hangyo, ang Pusa-Front nagpatuman sa mga mando, nagbag-o sa sulod sa DOM ug sa palibot sa browser.

Ang kahimtang sa frontend namugna apan dili kontrolado sa backend, nga naghimo sa kalamboan alang sa Pusa susama sa code alang sa usa ka video card o Canvas, diin ang resulta sa pagpatay dili kontrolado sa developer. Aron makahimo og interactive nga mga aplikasyon base sa Canvas ug onmousemove, posible nga i-download ug gamiton ang dugang nga JavaScript scripts sa kilid sa kliyente. Lakip sa mga disbentaha sa pamaagi, adunay usab pagbalhin sa bahin sa load gikan sa frontend ngadto sa backend ug usa ka pagtaas sa frequency sa data exchange uban sa server.

Lakip sa mga bentaha mao ang: pagwagtang sa panginahanglan alang sa partisipasyon sa JavaScript front-end developers, stable ug compact client code (11kb), inaccessibility sa main code gikan sa front-end, walay panginahanglan alang sa REST serialization ug mga himan sama sa gRPC, pagwagtang sa mga problema sa pag-coordinate sa hangyo nga pag-ruta tali sa front-end ug back-end.

Source: opennet.ru

Idugang sa usa ka comment