Üle kahe aastakümne oli JavaScript ainus programmeerimiskeel, mis sai brauserites töötada. Teised keeled, nagu Python, C++ ja Go, olid peamiselt mõeldud veebirakenduste ja -teenuste serveri poole loomiseks.
JavaScriptil läks päris hästi, kuid paljud teised programmeerimiskeeled on kiiremad. Veebirakendused saavad kasutada palju eeliseid, käivitades otse brauseris teisi, tõhusamaid programmeerimiskeeli.
WebAssembly pakub tõhusat, avatud ja turvalist valikut, mis on osa avatud veebiplatvormist. Saate seda kasutada brauserites, serverites ja muudes keskkondades töötavate rakenduste loomiseks.
Tutvustame WebAssemblyt
WebAssembly (WASM) on tõhus, madala tasemega kaasaskantav W3C-standardiga keel. See määratleb programmide koodivormingu ja liidesed veebiplatvormidega suhtlemiseks.
Enamiku programmeerimiskeelte saate kompileerida WebAssembly kahendkoodi vormingusse. Brauserid saavad tõlgendada ja käivitada saadud WASM-koodi samamoodi nagu tavalise JavaScripti puhul. Rakenduse parema jõudluse ja nende kahe vahelise koostalitlusvõime tagamiseks saate JavaScripti koodiga koos käitada ka WebAssemblyt.
WebAssemblyst sai 2019. aastal W3C standard, mida toetavad paljud programmeerimiskeeled. Vastavalt Valmistatud WebAssemblyga, on juba palju populaarseid projekte, mis kasutavad WebAssemblyt kiire ja turvalise tarkvara kasutajatele tarnimiseks.
Paljud programmeerimiskeeled, sealhulgas need, mis on serveripoolsed, toetavad WebAssemblyt. Nende hulka kuuluvad Rust, Go, Python, C++, TypeScript, Java, PHP ja Ruby. Tutvuge vinge-wasm-langsi ressurss et õppida tundma WebAssembly toetatud keeli ja pakette, mida saate nendega kasutada.
Siin on näide WebAssembly programm Tutorials Pointilt mis tagastab maksimaalselt kaks täisarvu:
WebAssembly süntaks on JavaScriptiga võrreldes suhteliselt paljusõnaline, kuid see ei tohiks olla probleem. Te ei pea süntaksit õppima, kuna WebAssembly on teie eelistatud keeles kirjutatavate programmide koostamise sihtmärk.
Kuidas WebAssembly töötab
WASM on teiste programmeerimiskeelte kompileerimise sihtmärk. Võid sisse kirjutada teie lemmik programmeerimiskeel ja kompileerida lähtekood WASM-i baitkoodiks, mis töötab kliendis. Selle tõlkimine natiivseks masinkoodiks tähendab, et see võib töötada suurel kiirusel, tavaliselt kiiremini kui JavaScript.
Üks WASM-i kriitilisi omadusi on JavaScripti koostalitlusvõime. Saate importida WASM-i mooduleid veebirakendusse ja paljastada WASM-i funktsioonid kasutamiseks JavaScripti koodis. JavaScripti raamistikud saavad suurema jõudluse tagamiseks ära kasutada WASM-i.
WASM kasutab JavaScriptiga sarnast liivakasti täitmismudelit. WASM suhtleb hostmasinaga, kasutades ABI-sid (Application Binary Interface), näiteks WebAssembly süsteemiliides mis pakub juurdepääsu ressurssidele ja muudele süsteemiteenustele vastavalt programmi nõuetele.
Paljud kaasaegsed brauserid toetavad WASM-i, sealhulgas Chrome, Microsoft Edge, Mozilla Firefox, Opera ja Safari. Keeled nagu Go and Roostetugi WASM Karbist välja.
Miks veeb vajab WebAssemblyt?
JavaScriptil on disaini tõttu piiratud funktsionaalsus. See ei ole üks neist kiireimad või toimivamad keeled kuna see sai alguse veebi skriptikeelena. Kuigi on palju käitusaegu, kus JavaScript töötab erineva kiirusega, on kiiremaid ja rohkem jõudluskeeled, mida WebAssembly saab veebi tuua kasutamiseks näiteks mängude, videote ja muusika.
WebAssembly pakub ka suuremat teisaldatavust ja paindlikkust keeltele, mis veebis ei tööta. Rohkemate keelte veebi (kõige populaarsem avatud lähtekoodiga platvorm) tutvustamine peaks üldiselt parandama kasutuskogemust.
WebAssembly kasutuselevõtt on kiire
Paljud ettevõtted ja arendajad loovad rakendusi WebAssembly abil. Google, Dropbox ja Cloudflare kasutavad WebAssemblyt mõnes oma rakenduses aktiivselt.
WebAssembly on populaarne Pythoni, C++ ja Rusti arendajate seas. Pythoni arendajad kasutavad tavaliselt Pyoidide ja PyScript, C++ arendajad ja Emscripten ning Rust arendajad Percy, Yew, Sycamore, MoonZoon ja Seed raamistikuga.