Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Meer dan twee decennia lang was JavaScript de enige programmeertaal die in browsers kon worden uitgevoerd. Andere talen zoals Python, C++ en Go waren voornamelijk bedoeld voor het bouwen van de serverkant van webapplicaties en -services.

JavaScript deed het redelijk goed, maar veel andere programmeertalen zijn sneller. Er zijn veel voordelen waar web-apps van kunnen profiteren door andere, beter presterende programmeertalen rechtstreeks in de browser uit te voeren.

WebAssembly biedt een efficiënte, open en veilige optie die deel uitmaakt van het open webplatform. U kunt het gebruiken om applicaties te bouwen die draaien op browsers, servers en in andere omgevingen.

Maak kennis met WebAssembly

WebAssembly (WASM) is een efficiënte, low-level, draagbare W3C-gestandaardiseerde taal. Het definieert een codeformaat en interfaces voor programma's om te communiceren met platforms op internet.

instagram viewer

U kunt de meeste programmeertalen compileren in het binaire codeformaat van WebAssembly. Browsers kunnen de resulterende WASM-code interpreteren en uitvoeren, net zoals bij regulier JavaScript. U kunt WebAssembly ook naast JavaScript-code uitvoeren voor betere app-prestaties en interoperabiliteit tussen de twee.

WebAssembly werd in 2019 een W3C-standaard, met ondersteuning in vele programmeertalen. Volgens Gemaakt met WebAssembly, zijn er al veel populaire projecten die WebAssembly gebruiken om snelle, veilige software naar hun gebruikers te verzenden.

Veel programmeertalen, waaronder die welke server-side specifiek zijn, ondersteunen WebAssembly. Deze omvatten Rust, Go, Python, C++, TypeScript, Java, PHP en Ruby. Bekijk de geweldige-wasm-langs bron om meer te weten te komen over de door WebAssembly ondersteunde talen en de pakketten die u ermee kunt gebruiken.

Hier is een voorbeeld WebAssembly-programma van Tutorials Point die maximaal twee gehele getallen retourneert:

De WebAssembly-syntaxis is relatief uitgebreid in vergelijking met JavaScript, maar dat zou geen probleem moeten zijn. U hoeft de syntaxis niet te leren, aangezien WebAssembly het compilatiedoel zal zijn voor de programma's die u in uw voorkeurstaal schrijft.

Hoe WebAssembly werkt

WASM bestaat als een compilatiedoel voor andere programmeertalen om in over te stappen. Je kunt erin schrijven uw favoriete programmeertaal en compileer de broncode naar WASM-bytecode die op de client draait. Door het in native machinecode te vertalen, kan het op hoge snelheid worden uitgevoerd, meestal sneller dan JavaScript.

Een van de kritieke kenmerken van WASM is JavaScript-interoperabiliteit. U kunt WASM-modules importeren in een webtoepassing en de WASM-functies beschikbaar stellen voor gebruik in JavaScript-code. JavaScript-frameworks kunnen profiteren van WASM voor betere prestaties.

WASM gebruikt een uitvoeringsmodel in een sandbox dat lijkt op JavaScript. WASM communiceert met de hostmachine met behulp van ABI's (Application Binary Interface) zoals de WebAssembly-systeeminterface die toegang biedt tot bronnen en andere systeemservices op basis van de vereisten van het programma.

Veel moderne browsers ondersteunen WASM, waaronder Chrome, Microsoft Edge, Mozilla Firefox, Opera en Safari. Talen zoals Go en Roestondersteuning WASM uit de doos.

Waarom het web WebAssembly nodig heeft

JavaScript heeft door zijn ontwerp beperkte functionaliteit. Het is niet een van de snelste of meest performante talen sinds het begon als een scripttaal voor het web. Hoewel er veel runtimes zijn waarbij JavaScript met verschillende snelheden draait, zijn er snellere en meer performante talen die WebAssembly naar het web kan brengen voor use-cases zoals gaming, video's en muziek.

WebAssembly biedt ook meer overdraagbaarheid en flexibiliteit voor talen die niet op internet draaien. Het introduceren van meer talen op internet (het meest populaire open-sourceplatform) zou in het algemeen moeten resulteren in een verbeterde ervaring.

WebAssembly-adoptie gaat snel

Veel bedrijven en ontwikkelaars bouwen applicaties met WebAssembly. Google, Dropbox en Cloudflare gebruiken WebAssembly actief in sommige van hun applicaties.

WebAssembly is populair onder Python-, C++- en Rust-ontwikkelaars. Python-ontwikkelaars gebruiken vaak Pyoidide en PyScript, C++-ontwikkelaars en Emscripten, en Rust-ontwikkelaars met Percy, Yew, Sycamore, MoonZoon en het Seed-framework.