Objavljen standardni nacrt WebAssembly 2.0 

W3C je predstavljen Nedavno putem posta nacrt nove specifikacije koji standardizira kod za pripremu WebAssembly 2.0 i pridruženi API kako bi se omogućilo kreiranje aplikacija visokih performansi koje su prenosive preko pretraživača i hardverskih platformi.

Za one koji su novi u WebAssembly-u, trebali biste to znati ovo pruža generički međuopremu, nizak nivo i nezavisno od pretraživača, za pokretanje kompajliranih aplikacija iz raznih programskih jezika. Koristeći JIT za WebAssembly, možete postići nivo performansi blizak izvornom kodu.

O WebAssembly-u

WebAssembly može se koristiti za obavljanje zadataka visokih performansi u pretraživaču, kao što su video kodiranje, obrada zvuka, 3D i grafička manipulacija, razvoj igara, kriptografske operacije i matematička izračunavanja, izvršavanjem koda napisanog u kompajliranim jezicima kao što je C/C++.

Među glavnim zadacima WebAssembly-a je obezbjeđivanje prenosivosti, predvidljivosti ponašanja i identiteta izvršavanja koda na različitim platformama. Nedavno je WebAssembly također promoviran 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.

O nacrtu WebAssembly 2.0

U dijelu promjena koje su napravljene od WebAssembly-a su gotovi prijedlozi za WebAssembly 2.0 su SIMD fiksne širine, operacije masovne memorije, referentni tipovi, JavaScript BigInt podrška za WebAssembly i64, podrška za višestruke povratne vrijednosti i uvoz/izvoz promjenjivih globalne varijable.

W3C je objavio tri nacrta WebAssembly 2.0 specifikacija:

  1. Jezgro web montaže: opisuje virtuelnu mašinu niskog nivoa za pokretanje srednjeg WebAssembly koda. Resursi vezani za WebAssembly dolaze u ".wasm" formatu, sličnom Java ".class" datotekama, koje sadrže statičke podatke i segmente koda za rad sa tim podacima.
  2. JavaScript sučelje WebAssembly: pruža API za integraciju sa JavaScript-om. Omogućava vam da dobijete vrijednosti i proslijedite parametre WebAssembly funkcijama. Izvršenje WebAssembly-a prati JavaScript sigurnosni model, a sva interakcija sa hostom se izvodi na način sličan pokretanju JavaScript koda.
  3. Web API za WebAssembly: definira API baziran na Promise mehanizmu 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 preuzme, što poboljšava odziv web aplikacija.

Razlike između WebAssembly i WebAssembly 2.0

Također, treba napomenuti da postoje neke važne promjene u WebAssembly 2.0 u odnosu na prvu verziju standarda:

  • v128 podrška za vektorski tip i povezane vektorske instrukcije koje vam omogućavaju da izvodite operacije na više numeričkih vrijednosti paralelno (SIMD, jedna instrukcija, više podataka).
  • Mogućnost uvoza i izvoza promjenjivih globalnih varijabli, koji omogućava globalno vezivanje za vrijednosti kao pokazivače steka u C++.
  • Nove upute za pretvaranje float u int, koji umjesto izbacivanja izuzetka na prelijevanje rezultata, vraća minimalnu ili maksimalnu moguću vrijednost (potrebno za SIMD).
  • Upute za proširenje predznaka cijelih brojeva (povećajte dubinu bita broja zadržavajući predznak i vrijednost).
  • Podrška za vraćanje više vrijednosti po blokovima i funkcijama (kao i prosljeđivanje više parametara funkcijama).
  • Implementirajte JavaScript funkcije BigInt64Array i BigUint64Array za konverziju između JavaScript tipa BigInt i WebAssembly reprezentacije 64-bitnih cijelih brojeva.
  • Podrška za referentne tipove (funcref i externref) i njihove pridružene izjave (select, ref.null, ref.func i ref.is_null).
  • memory.copy, memory.fill, memory.init i data.drop upute za kopiranje podataka između memorijskih regija i brisanje memorijskih regija.
  • Upute za direktan pristup i izmjenu tabela (table.set, table.get, table.size, table.grow).
  • Mogućnost kreiranja, uvoza i izvoza više tabela u jednom modulu. Funkcije za kopiranje/popunjavanje tabela u batch modu (table.copy, table.init i elem.drop).

Konačno, ako vas zanima više o tome, možete se obratiti detaljima Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.