W3C-konsortiet om at tildele WebAssembly-teknologien status som en anbefalet standard. WebAssembly leverer en browseruafhængig generel lav-niveau mellemformatkode til udførelse af applikationer kompileret fra forskellige programmeringssprog. WebAssembly positioneres som en mere lovende og portabel teknologi til oprettelse af højtydende webapplikationer. WebAssembly kan bruges til opgaver, der kræver høj ydeevne, såsom videokodning, lydbehandling, grafik- og 3D-manipulation, spiludvikling, kryptografiske operationer, matematiske beregninger og oprettelse af bærbare implementeringer af programmeringssprog.
WebAssembly ligner på mange måder Asm.js, men adskiller sig ved at være et binært format, der ikke er bundet til JavaScript. WebAssembly kræver ikke en affaldssamler, da det bruger eksplicit hukommelsesstyring. Ved hjælp af JIT til WebAssembly kan man opnå en ydeevne tæt på native kode. Blandt de vigtigste opgaver for WebAssembly er at sikre portabilitet, forudsigelighed i adfærd og ensartet udførelse af kode på forskellige platforme. På det seneste fremmes WebAssembly også W3C har standardiseret tre specifikationer relateret til WebAssembly:
WebAssembly Core
- WebAssembly Web API
- WebAssembly JavaScript Interface
- — tilbyder et API til integration med JavaScript. Muliggør hentning af værdier og overførsel af parametre til WebAssembly-funktioner. Udførelsen af WebAssembly overholder JavaScript-sikkerhedsmodellen, og al interaktion med det primære system foregår på samme måde som udførelsen af JavaScript-kode.
I fremtiden planlægges det at forberede specifikationer for funktioner i WebAssembly såsom:
- Multitrådning med delt hukommelse og atomisk adgang til hukommelsen;
- Vektoroperationer baseret på SIMD, som muliggør paralellisering af loopudførelse;
- Reference typer til direkte henvisninger til objekter fra WebAssembly-kode;
- Mulighed for at kalde funktioner uden at bruge ekstra plads på stakken;
- Integration med ECMAScript-moduler — muligheden for at indlæse WebAssembly-kode fra JavaScript som moduler, der overholder ECMAScript 6-specifikationen;
- Driftsmodalitet med affaldssamler;
- Debuginterfaces;
- (WebAssembly System Interface) — et API til direkte interaktion med operativsystemet (POSIX API til arbejde med filer, sockets osv.).
Kilde: opennet.ru
