← Alla inlägg WebAssembly (WASM) – från experiment till modern webbplattform

WebAssembly (WASM) – från experiment till modern webbplattform

WebAssembly, ofta förkortat WASM, är en öppen standard som gör det möjligt att köra kompilerad kod med nära inbyggd prestanda direkt i webbläsaren. Tekniken har utvecklats från ett prestandaprojekt till en plattform med användningsområden långt utanför webben.

wasmwebgamesrust

Historik

WebAssembly (WASM) är en teknik som utvecklades för att göra det möjligt att köra högpresterande program direkt i webbläsaren. Arbetet inleddes omkring 2015 som ett samarbete mellan de stora webbläsartillverkarna, med målet att skapa ett kompakt binärt format som kunde komplettera JavaScript. Bakgrunden var att allt mer avancerade applikationer – exempelvis spel, bildbehandling och utvecklingsverktyg – började flytta till webben och ställde högre krav på prestanda än vad traditionell JavaScript-kod kunde erbjuda.

Den första officiella versionen av WebAssembly lanserades 2017 och fick snabbt stöd i samtliga större webbläsare. Tekniken gör det möjligt att kompilera kod från språk som C, C++, Rust, golang och andra språk till ett format som kan köras säkert och effektivt i webbläsaren.

Användningsområden idag

Idag används WebAssembly inom många olika områden. Tekniken används bland annat för webbaserade spel, avancerad grafik, video- och ljudbearbetning, CAD-verktyg, vetenskapliga beräkningar och utvecklingsmiljöer som körs direkt i webbläsaren. Även stora projekt som databaser, virtuella maskiner och AI-relaterade applikationer har börjat använda WASM för att uppnå bättre prestanda och portabilitet.

Utöver webbläsaren används WebAssembly i allt större utsträckning även på serversidan och i molnmiljöer. Tack vare den standardiserade och säkra exekveringsmiljön ses WASM av många som ett intressant alternativ för att distribuera och köra kod oberoende av operativsystem och processorarkitektur.

Egna tankar kring användning av WASM

För egen del är det inte de stora företagsapplikationerna som gör WebAssembly mest intressant, utan möjligheten att använda tekniken på samma sätt som man under början av 2000-talet använde Java-applets. Då kunde man relativt enkelt skapa små interaktiva program och enklare 2D-spel som kördes direkt i webbläsaren utan någon separat installation.

Med WebAssembly finns nu en modern och standardiserad lösning för samma typ av användningsområde. Jag undersöker därför möjligheten att använda WASM för att utveckla mindre 2D-spel och experimentella webbapplikationer där prestanda, enkel distribution och plattformsoberoende är viktiga egenskaper. På många sätt känns det som en nutida motsvarighet till de kreativa möjligheter som Java-applets en gång erbjöd, men med betydligt bättre säkerhet, prestanda och webbläsarstöd.

Tror det är dags att bygga en ny version av Zamboni-appen, där man kör en ismaskin i lokala ishallen samtidigt som det är allmänhetens åkning.

Betygsätt detta inlägg