Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

I över två decennier var JavaScript det enda programmeringsspråket som kunde köras i webbläsare. Andra språk som Python, C++ och Go var främst för att bygga serversidan av webbapplikationer och tjänster.

JavaScript gick ganska bra, men många andra programmeringsspråk är snabbare. Det finns många fördelar som webbappar kan dra nytta av genom att köra andra, mer presterande programmeringsspråk direkt i webbläsaren.

WebAssembly erbjuder ett effektivt, öppet och säkert alternativ som är en del av den öppna webbplattformen. Du kan använda den för att bygga applikationer som körs på webbläsare, servrar och i andra miljöer.

Vi presenterar WebAssembly

WebAssembly (WASM) är ett effektivt, lågnivå, bärbart W3C-standardiserat språk. Den definierar ett kodformat och gränssnitt för program att interagera med plattformar på webben.

Du kan kompilera de flesta programmeringsspråk till WebAssemblys binära kodformat. Webbläsare kan tolka och köra den resulterande WASM-koden precis som de gör med vanlig JavaScript. Du kan också köra WebAssembly tillsammans med JavaScript-kod för högre appprestanda och interoperabilitet mellan de två.

instagram viewer

WebAssembly blev en W3C-standard 2019, med stöd i många programmeringsspråk. Enligt Tillverkad med WebAssembly, det finns redan många populära projekt som använder WebAssembly för att skicka snabb, säker programvara till sina användare.

Många programmeringsspråk, inklusive de som är specifika på serversidan, stöder WebAssembly. Dessa inkluderar Rust, Go, Python, C++, TypeScript, Java, PHP och Ruby. Kolla in awesome-wasm-langs resurs för att lära dig om de WebAssembly-stödda språken och de paket du kan använda med dem.

Här är ett exempel WebAssembly-program från Tutorials Point som returnerar maximalt två heltal:

WebAssembly-syntaxen är relativt utförlig jämfört med JavaScript, men det borde inte vara ett problem. Du behöver inte lära dig syntaxen eftersom WebAssembly kommer att vara sammanställningsmålet för de program du skriver på ditt föredragna språk.

Hur WebAssembly fungerar

WASM finns som ett kompileringsmål för andra programmeringsspråk att transpilera till. Du kan skriva in ditt favoritprogrammeringsspråk och kompilera källkoden till WASM bytecode som körs på klienten. Att översätta den till inbyggd maskinkod innebär att den kan köras i hög hastighet, vanligtvis snabbare än JavaScript.

En av de kritiska egenskaperna hos WASM är JavaScript-interoperabilitet. Du kan importera WASM-moduler till en webbapplikation och exponera WASM-funktionerna för användning i JavaScript-kod. JavaScript-ramverk kan dra fördel av WASM för högre prestanda.

WASM använder en exekveringsmodell i sandlåde som liknar JavaScript. WASM interagerar med värddatorn med hjälp av ABI (Application Binary Interface) som WebAssembly System Interface som ger tillgång till resurser och andra systemtjänster baserat på programmets krav.

Många moderna webbläsare stöder WASM, inklusive Chrome, Microsoft Edge, Mozilla Firefox, Opera och Safari. Språk som Go och Roststöd WASM utanför lådan.

Varför webben behöver WebAssembly

JavaScript har begränsad funktionalitet genom design. Det är inte en av de snabbaste eller mest presterande språken sedan det började som ett skriptspråk för webben. Även om det finns många körtider där JavaScript körs med olika hastigheter, finns det snabbare och fler presterande språk som WebAssembly kan ta till webben för användningsfall som spel, videor och musik.

WebAssembly erbjuder också mer portabilitet och flexibilitet till språk som inte körs på webben. Att introducera fler språk på webben (den mest populära plattformen med öppen källkod) bör resultera i en förbättrad upplevelse totalt sett.

WebAssembly antagande går snabbt

Många företag och utvecklare bygger applikationer med WebAssembly. Google, Dropbox och Cloudflare använder aktivt WebAssembly i vissa av sina applikationer.

WebAssembly är populärt bland Python-, C++- och Rust-utvecklare. Python-utvecklare använder vanligtvis Pyoidide och PyScript, C++-utvecklare och Emscripten, och Rust-utvecklare med Percy, Yew, Sycamore, MoonZoon och Seed-ramverket.