W3C daje status WebAssembly preporučenog standarda

W3C Consortium najavljeno o davanju WebAssembly tehnologiji statusa preporučenog standarda. WebAssembly pruža univerzalni srednji kod niskog nivoa koji je nezavisan od pretraživača za pokretanje aplikacija kompajliranih iz različitih programskih jezika. WebAssembly je pozicioniran kao obećavajuća i prenosiva tehnologija sa više pretraživača za kreiranje web aplikacija visokih performansi. WebAssembly se može koristiti za zadatke koji zahtijevaju visoke performanse kao što su video kodiranje, obrada zvuka, grafika i 3D manipulacija, razvoj igara, kriptografske operacije, matematičko računanje i kreiranje prenosivih implementacija programskih jezika.

WebAssembly je na mnogo načina sličan Asm.js, ali se razlikuje po tome što je binarni format koji nije vezan za JavaScript. WebAssembly ne zahtijeva sakupljač smeća jer koristi eksplicitno upravljanje memorijom. Koristeći JIT za WebAssembly, možete postići nivoe performansi bliske izvornom kodu. Među glavnim ciljevima WebAssembly-a je osiguranje prenosivosti, predvidljivog ponašanja i identičnog izvršavanja koda na različitim platformama. U posljednje vrijeme ima i WebAssembly napredovanje kao univerzalna platforma za sigurno izvršavanje koda na bilo kojoj infrastrukturi, operativnom sistemu i uređaju, ne ograničavajući se na pretraživače.

W3C je standardizirao tri specifikacije vezane za WebAssembly:

  • Web Assembly Core — opisuje virtuelnu mašinu niskog nivoa za izvršavanje WebAssembly međukoda. Resursi vezani za WebAssembly dolaze u ".wasm" formatu, sličnom Java ".class" datoteci, koja sadrži statičke podatke i segmente koda za rad sa tim podacima.
  • WebAssembly Web API — definiše programski interfejs zasnovan na mehanizmu Promise za traženje i izvršavanje „.wasm“ resursa. Format WebAssembly resursa optimiziran je za početak izvršavanja bez čekanja da se datoteka u potpunosti učita, što poboljšava odziv web aplikacija.
  • WebAssembly JavaScript interfejs — Pruža API za integraciju sa JavaScript-om. Omogućava vam da dobijete vrijednosti i proslijedite parametre WebAssembly funkcijama. Izvršavanje WebAssembly-a prati JavaScript sigurnosni model i sva interakcija sa glavnim sistemom se odvija na isti način kao i izvršavanje JavaScript koda.

U budućnosti planiramo pripremiti specifikacije za WebAssembly karakteristike kao što su:

  • Multithreading sa zajedničkom memorijom i pristupom atomskoj memoriji;
  • Vektorske operacije zasnovane na SIMD-u, omogućavajući paralelizaciju izvođenja petlje;
  • Referentni tipovi za direktno referenciranje objekata iz WebAssembly koda;
  • Mogućnost pozivanja funkcija bez trošenja dodatnog prostora na steku;
  • Integracija sa 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;
  • Interfejsi za otklanjanje grešaka;
  • WASI (WebAssembly System Interface) - API za direktnu interakciju sa operativnim sistemom (POSIX API za rad sa fajlovima, soketima, itd.).

    izvor: opennet.ru

Dodajte komentar