W3C gir WebAssembly Recommended Standard-status

W3C-konsortiet kunngjort om å gi WebAssembly-teknologi status som en anbefalt standard. WebAssembly gir nettleseruavhengig, universell, lavt nivå mellomkode for å kjøre applikasjoner kompilert fra forskjellige programmeringsspråk. WebAssembly er posisjonert som en mer lovende bærbar teknologi på tvers av nettlesere for å lage høyytelses nettapplikasjoner. WebAssembly kan brukes til ytelsesintensive oppgaver som videokoding, lydbehandling, grafikk og 3D-manipulasjon, spillutvikling, kryptografiske operasjoner, matematiske beregninger og å lage bærbare implementeringer av programmeringsspråk.

WebAssembly ligner på mange måter Asm.js, men skiller seg ved at det er et binært format som ikke er knyttet til JavaScript. WebAssembly krever ikke en søppelsamler fordi den bruker eksplisitt minnebehandling. Ved å bruke JIT for WebAssembly kan du oppnå ytelsesnivåer nær native kode. Blant hovedmålene til WebAssembly er å sikre portabilitet, forutsigbar oppførsel og identisk kodekjøring på forskjellige plattformer. I det siste har WebAssembly også fremrykkende som en universell plattform for sikker kjøring av kode på enhver infrastruktur, operativsystem og enhet, ikke begrenset til nettlesere.

W3C har standardisert tre spesifikasjoner knyttet til WebAssembly:

  • WebAssemble Core — beskriver en virtuell maskin på lavt nivå for å utføre WebAssembly-mellomkode. WebAssembly-relaterte ressurser kommer i et ".wasm"-format, som ligner på en Java ".class"-fil, som inneholder statiske data og kodesegmenter for å arbeide med disse dataene.
  • WebAssembly Web API — definerer et programmeringsgrensesnitt basert på Promise-mekanismen for å forespørre og utføre ".wasm"-ressurser. WebAssembly-ressursformatet er optimalisert for å starte kjøringen uten å vente på at filen er fulllastet, noe som forbedrer responsen til webapplikasjoner.
  • WebAssembly JavaScript-grensesnitt — Gir et API for integrasjon med JavaScript. Lar deg få verdier og sende parametere til WebAssembly-funksjoner. Utførelse av WebAssembly følger JavaScript-sikkerhetsmodellen og all interaksjon med hovedsystemet utføres på samme måte som utføring av JavaScript-kode.

I fremtiden planlegger vi å utarbeide spesifikasjoner for slike WebAssembly-funksjoner som:

  • Multithreading med delt minne og atomminnetilgang;
  • Vektoroperasjoner basert på SIMD, som tillater parallellisering av løkkekjøring;
  • Referansetyper for direkte referanse til objekter fra WebAssembly-kode;
  • Evne til å ringe funksjoner uten å bruke ekstra plass på stabelen;
  • Integrasjon med ECMAScript-moduler - muligheten til å laste WebAssembly-kode fra JavaScript som moduler som samsvarer med ECMAScript 6-spesifikasjonen;
  • Søppelsamlermodus;
  • Debugging grensesnitt;
  • VAR JEG (WebAssembly System Interface) - API for direkte interaksjon med operativsystemet (POSIX API for arbeid med filer, sockets, etc.).

    Kilde: opennet.ru

Legg til en kommentar