„JavaScript“ žiniatinklio programos niekur nedingsta


Dauguma svetainių ir žiniatinklio programų yra parašytos „JavaScript“ arba bent jau tuo, kas konvertuojama į „JavaScript“. Per daugelį metų buvo daug bandymų tai pakeisti, tačiau nesitikėkite, kad „JavaScript“ greitai išnyks.

„Zaplib“ yra paleisties programa, kuri sukūrė „JavaScript“ pagrindu veikiančių žiniatinklio programų dalių perrašymo sistemą „Rust“ programavimo kalba, kuri vėliau veiktų žiniatinklio naršyklėse naudojant „WebAssembly“. Rust yra žemo lygio programavimo kalba, optimizuota našumui ir saugumui užtikrinti, o Rust buvo naudojama daugelyje programų, siekiant žymiai pagerinti įkėlimo laiką ir greitį. „Mozilla“ perrašė CSS variklį „Firefox“ žiniatinklio naršyklėje, naudodama Rust 2017 m., kaip „Firefox Quantum“ naujinimo dalį, kuri padvigubino įprastą „Firefox“ našumą. WebAssembly leidžia svetainėms parašyti savo kodą tradicinėmis programavimo kalbomis, pvz., C++, ir vykdyti jį žiniatinklio naršyklėje, pvz., JavaScript.

Zaplibas tikėjosi, kad perrašant žiniatinklio programas naudojant „Rust-powered WebAssembly“ po vieną skyrių, našumas padidės iki 10 kartų. Tačiau bendrovės įkūrėjai „skrodimo“ metu teigė, kad didžiuliai šuoliai nepasiteisino. Mes statėme, kad būtų 10 kartų ergonomiškiau paspartinti programos taikymą palaipsniui. Tai nepasitvirtino realiame pasaulyje, teigė komanda.



Grupė pastebėjo tam tikrų savo plano problemų. Dauguma įmonių (suprantama) dvejojo, ar perrašyti savo kodą į kalbą, kurios jų inžinieriai nežinojo, bet dar svarbiau, kad nebuvo didelio greičio skirtumo tarp gero JavaScript kodo ir gero Rust kodo. „Zaplib“ padėjo įmonei perkelti modeliavimo įrankį į Rust, kuris buvo tik 5% greitesnis nei esama „JavaScript“ versija. „Zaplib“ taip pat tikėjosi, kad padės aparatinės įrangos pagreitintas 2D atvaizdavimo įrenginys, tačiau didžiąją dalį našumo padidino „WebGL“, kuriam visiškai nereikia „Rust“ ar „WebAssembly“.

Tai nereiškia, kad „WebAssembly“ yra baisi ar nenaudinga: „WebAssembly“ dėka „Google“ žemė ir „Photoshop“ perėjo į žiniatinklio naršykles, o tokios įmonės kaip „Microsoft“ kuria sistemas, kad daugiau kūrėjų galėtų atlikti tą patį perėjimą. Yra absoliuti priežastis, kodėl ji egzistuoja, tačiau „JavaScript“ per pastaruosius kelerius metus taip pat labai pasikeitė. „V8“ variklis, apdorojantis „JavaScript“ kodą „Chrome“, „Microsoft Edge“ ir kitose „Chromium“ pagrįstose naršyklėse, vis spartėja. „Google“ teigimu, dėl naujausių optimizacijų „Chrome“ tapo greičiausia žiniatinklio naršykle, pasiekiama „Mac“, o kiti pakeitimai taip pat pagreitino „Windows“ ir „Android“ versijas.

„WebAssembly“ jau atneša į žiniatinklį naują programų bangą, kurios prieš kelerius metus galbūt nebuvo, tačiau nesitikėkite, kad greitu metu visos „JavaScript“ nebeliks. Zaplibas savo pranešime teigė, kad paprastai yra paprastesnių būdų, kaip rasti našumo patobulinimus, nei Rust [arba WebAssembly]. '

Šaltinis: Zaplib

Ką tu manai?