Pusa veframmi sem flytur JavaScript framenda rökfræði yfir á netþjónahliðina

Pusa veframminn hefur verið gefinn út með innleiðingu á hugtaki sem flytur framenda rökfræði, keyrð í vafra með JavaScript, yfir á bakhlið - stjórnun vafra og DOM þátta, auk viðskiptarökfræði eru framkvæmd á bakhliðin. JavaScript kóðanum sem keyrt er á vafrahliðinni er skipt út fyrir alhliða lag sem kallar á meðhöndlara sem staðsettir eru á bakhliðinni. Það er engin þörf á að þróa með JavaScript fyrir framenda. Pusa tilvísunarútfærslan er skrifuð í PHP og er með leyfi samkvæmt GPLv3. Auk PHP er hægt að útfæra tæknina á hvaða tungumáli sem er, þar á meðal JavaScript/Node.js, Java, Python, Go og Ruby.

Pusa skilgreinir skiptisamskiptareglur byggðar á naumhyggjusamstæðu skipana. Þegar síðan hleðst inn, hleður vafrinn undirliggjandi DOM efni og JavaScript kjarna Pusa-Front. Pusa-Front sendir vafraviðburði (eins og smelli, óskýrleika, fókus og takkaýtingu) og biðja um færibreytur (þátturinn sem olli atburðinum, eiginleika þess, vefslóð osfrv.) til Pusa-Back þjónsstjórans með því að nota Ajax beiðnir. Byggt á mótteknum gögnum ákvarðar Pusa-Back stjórnandann, framkvæmir hleðsluna og býr til svarsett af skipunum. Eftir að hafa fengið svar við beiðninni framkvæmir Pusa-Front skipanir og breytir innihaldi DOM og vafraumhverfisins.

Staða framenda er myndað en ekki stjórnað af bakendanum, sem gerir þróun fyrir Pusa svipað og kóða fyrir skjákort eða striga, þar sem niðurstöðu framkvæmdar er ekki stjórnað af þróunaraðila. Til að búa til gagnvirk forrit byggð á Canvas og onmousemove er hægt að hlaða niður og nota viðbótar JavaScript forskriftir á biðlarahlið. Meðal ókosta aðferðarinnar er einnig flutningur á hluta álagsins frá framenda til bakenda og aukning á tíðni gagnaskipta við netþjóninn.

Meðal kostanna eru: að útrýma þörfinni fyrir þátttöku JavaScript framenda þróunaraðila, stöðugur og samningur viðskiptavinakóði (11kb), óaðgengi að aðalkóða frá framendanum, engin þörf á REST raðgreiningu og verkfærum eins og gRPC, útrýma vandamál við að samræma beiðnaleiðingu milli framenda og bakenda.

Heimild: opennet.ru

Bæta við athugasemd