W3C daje status WebAssembly Recommended Standard

W3C konzorcij najavio o davanju WebAssembly tehnologiji statusa preporučenog standarda. WebAssembly pruža univerzalni posredni kod niske razine neovisan o pregledniku za pokretanje aplikacija sastavljenih iz različitih programskih jezika. WebAssembly je pozicioniran kao prijenosna tehnologija koja više obećava i koristi više preglednika za stvaranje web aplikacija visokih performansi. WebAssembly se može koristiti za zadatke koji zahtijevaju intenzivnu izvedbu kao što su video kodiranje, audio obrada, grafika i 3D manipulacija, razvoj igara, kriptografske operacije, matematički izračuni i stvaranje prijenosnih implementacija programskih jezika.

WebAssembly je na mnoge načine sličan Asm.js, ali se razlikuje po tome što je binarni format koji nije vezan za JavaScript. WebAssembly ne zahtijeva skupljač smeća jer koristi eksplicitno upravljanje memorijom. Korištenjem JIT-a za WebAssembly možete postići razine performansi bliske izvornom kodu. Među glavnim ciljevima WebAssemblyja je osiguravanje prenosivosti, predvidljivog ponašanja i identičnog izvršavanja koda na različitim platformama. U posljednje vrijeme i WebAssembly napredujući kao univerzalna platforma za sigurno izvršavanje koda na bilo kojoj infrastrukturi, operativnom sustavu i uređaju, ne ograničavajući se na preglednike.

W3C je standardizirao tri specifikacije vezane uz WebAssembly:

  • Jezgra WebAssembly — opisuje virtualni stroj niske razine za izvođenje međukoda WebAssembly. Resursi vezani uz WebAssembly dolaze u ".wasm" formatu, sličnom Java ".class" datoteci, koja sadrži statičke podatke i segmente koda za rad s tim podacima.
  • WebAssembly Web API — definira programsko sučelje temeljeno na Promise mehanizmu za traženje i izvršavanje “.wasm” resursa. Format resursa WebAssembly optimiziran je za početak izvršavanja bez čekanja da se datoteka u potpunosti učita, što poboljšava odziv web aplikacija.
  • WebAssembly JavaScript sučelje — Pruža API za integraciju s JavaScriptom. Omogućuje dobivanje vrijednosti i prosljeđivanje parametara WebAssembly funkcijama. Izvršenje WebAssemblyja slijedi JavaScript sigurnosni model i sva interakcija s glavnim sustavom provodi se na isti način kao i izvršavanje JavaScript koda.

U budućnosti planiramo pripremiti specifikacije za značajke WebAssembly kao što su:

  • Višenitnost s dijeljenom memorijom i atomskim pristupom memoriji;
  • Vektorske operacije temeljene na SIMD-u, omogućujući paralelizaciju izvođenja petlje;
  • Referentne vrste za izravno referenciranje objekata iz WebAssembly koda;
  • Sposobnost pozivanja funkcija bez trošenja dodatnog prostora na stogu;
  • Integracija s ECMAScript modulima - mogućnost učitavanja WebAssembly koda iz JavaScripta kao modula koji su u skladu sa ECMAScript 6 specifikacijom;
  • Način rada sakupljača smeća;
  • Sučelja za otklanjanje pogrešaka;
  • WASI (WebAssembly System Interface) - API za izravnu interakciju s operativnim sustavom (POSIX API za rad s datotekama, utičnicama itd.).

    Izvor: opennet.ru

Dodajte komentar