Çarçoveya webê ya Pusa ku mantiqa pêşîn a JavaScript-ê vediguhezîne aliyê serverê

Çarçoveya webê ya Pusa bi pêkanîna konseptek ku mantiqa paşîn-endê, ku di gerokê de bi karanîna JavaScript-ê hatî darve kirin, vediguhezîne aliyê paşîn - rêvebirina gerok û hêmanên DOM, û her weha mantiqa karsaziyê li ser têne kirin. paş-dawiya. Koda JavaScript-a ku li aliyê gerokê hatî darve kirin bi qatek gerdûnî ya ku gazî gerînendeyên ku li milê piştê ne tê veguheztin. Ne hewce ye ku bi karanîna JavaScript-ê ji bo dawiya pêşîn pêşve bibin. Pêkanîna referansa Pusa di PHP-ê de hatî nivîsandin û di bin GPLv3 de destûrdar e. Ji bilî PHP-ê, teknolojî dikare bi zimanek din, di nav de JavaScript/Node.js, Java, Python, Go û Ruby jî were sepandin.

Pusa li ser bingeha komek fermanên mînîmalîst protokolek danûstendinê diyar dike. Dema ku rûpel bar dike, gerok naveroka DOM-a bingehîn û bingeha JavaScript-a Pusa-Front bar dike. Pusa-Front bûyerên gerokê (wek klîk, ronîkirin, balkişandin û bişkojka bişkojkê) û parametreyên daxwazê ​​(hêmana ku bûye sedema bûyerê, taybetmendiyên wê, URL, hwd.) bi karanîna daxwazên Ajax re ji kargêrê servera Pusa-Back re dişîne. Li ser bingeha daneyên wergirtî, Pusa-Back kontrolker destnîşan dike, bargiraniyê pêk tîne û komek bersivê ya fermanan diafirîne. Piştî wergirtina bersiva daxwazê, Pusa-Front fermanan pêk tîne, naveroka DOM-ê û hawîrdora gerokê diguhezîne.

Rewşa pêşiyê tê çêkirin lê ji hêla paşîn ve nayê kontrol kirin, ku ev pêşveçûna Pusa wekî kodek ji bo qerta vîdyoyê an Canvas-ê ye, ku li wir encama darvekirinê ji hêla pêşdebir ve nayê kontrol kirin. Ji bo afirandina serîlêdanên înteraktîf ên li ser bingeha Canvas û onmousemove, gengaz e ku li ser milê xerîdar nivîsarên JavaScript-ê yên din dakêşin û bikar bînin. Di nav dezawantajên rêbazê de, di heman demê de veguheztina beşek barkirinê ji pêşiyê berbi paşîn û zêdekirina rêjeya danûstendina daneyê bi serverê re jî heye.

Di nav avantajan de ev in: rakirina hewcedariya beşdarbûna pêşdebirên pêş-end-a JavaScript, koda xerîdar a stabîl û tevlihev (11kb), negihîştina koda sereke ji pêşiyê, ne hewcedariya rêzenivîsandina REST û amûrên mîna gRPC, rakirina pirsgirêkên hevrêzkirina rêveçûna daxwazê ​​di navbera pêş-end û paş-dawiyê de.

Source: opennet.ru

Add a comment