Uhlaka lwewebhu lwe-Pusa oludlulisa i-JavaScript ekupheleni kwangaphambili kuhlangothi lweseva

Uhlaka lwewebhu lwePusa lushicilelwe ngokusetshenziswa komqondo odlulisa ukucabanga kwe-front-end, okwenziwa esipheqululini kusetshenziswa i-JavaScript, kuya ohlangothini olungemuva - ukuphatha isiphequluli nezinto ze-DOM, kanye nengqondo yebhizinisi kwenziwa kuyo. ingemuva. Ikhodi ye-JavaScript esetshenziswe ohlangothini lwesiphequluli ithathelwa indawo isendlalelo sendawo yonke esibiza izibambi ezitholakala ohlangothini olungemuva. Asikho isidingo sokuthuthukisa usebenzisa i-JavaScript ekugcineni. Ukuqaliswa kwereferensi yePusa kubhalwe nge-PHP futhi kunelayisensi ngaphansi kwe-GPLv3. Ngaphezu kwe-PHP, ubuchwepheshe bungasetshenziswa nganoma yiluphi olunye ulimi, okuhlanganisa i-JavaScript/Node.js, i-Java, i-Python, i-Go ne-Ruby.

I-Pusa ichaza iphrothokholi yokushintshisana ngokusekelwe kusethi yemiyalo emincane. Uma ikhasi lilayisha, isiphequluli silayisha okuqukethwe okungaphansi kwe-DOM kanye nomongo we-Pusa-Front's JavaScript. I-Pusa-Front ithumela imicimbi yesiphequluli (efana nokuchofoza, ukufiphalisa, ukugxila nokucindezela ukhiye) kanye nemingcele yokucela (isici esibangele umcimbi, izibaluli zayo, i-URL, njll.) kusiphathi seseva ye-Pusa-Back sisebenzisa izicelo ze-Ajax. Ngokusekelwe kudatha etholiwe, i-Pusa-Back inquma isilawuli, ikhiphe umthwalo okhokhelwayo futhi ikhiqize isethi yezimpendulo zemiyalo. Ngemva kokuthola impendulo yesicelo, iPusa-Front ikhipha imiyalo, ishintsha okuqukethwe kwe-DOM kanye nemvelo yesiphequluli.

Isimo se-frontend siyakhiqizwa kodwa asilawulwa yi-backend, okwenza intuthuko ye-Pusa ifane nekhodi yekhadi levidiyo noma i-Canvas, lapho umphumela wokukhishwa ungalawulwa ngunjiniyela. Ukuze udale izinhlelo zokusebenza ezisebenzisanayo ezisuselwe ku-Canvas kanye ne-onmousemove, kungenzeka ukulanda nokusebenzisa imibhalo ye-JavaScript eyengeziwe ohlangothini lweklayenti. Phakathi kokubi kwendlela, kukhona futhi ukudluliswa kwengxenye yomthwalo kusukela ku-frontend kuya ku-backend kanye nokwanda kwemvamisa yokushintshaniswa kwedatha neseva.

Phakathi kwezinzuzo yilezi: ukususa isidingo sokubamba iqhaza konjiniyela abaphambili be-JavaScript, ikhodi yeklayenti ezinzile nehlangene (11kb), ukungatholakali kwekhodi eyinhloko kusukela ekuqaleni, asikho isidingo sokwenziwa kwe-REST serialization namathuluzi afana ne-gRPC, ukususa izinkinga zokuxhumanisa umzila wesicelo phakathi kwendawo engaphambili nengemuva.

Source: opennet.ru

Engeza amazwana