Izdan osnutek standarda WebAssembly 2.0 

Predstavljen W3C Pred kratkim prek objave osnutek nove specifikacije ki standardizira kodo priprave WebAssembly 2.0 in povezan API omogočiti ustvarjanje visoko zmogljivih aplikacij, ki so prenosljive prek brskalnikov in platform strojne opreme.

Za tiste, ki so novi v WebAssembly, bi to morali vedeti to zagotavlja generično vmesno programsko opremo, nizka raven in neodvisen od brskalnika, za zagon prevedenih aplikacij iz različnih programskih jezikov. Z uporabo JIT za WebAssembly lahko dosežete raven zmogljivosti, ki je blizu izvorni kodi.

O WebAssemblyju

WebAssembly se lahko uporablja za izvajanje visoko zmogljivih nalog v brskalniku, kot so kodiranje videa, obdelava zvoka, 3D in grafična manipulacija, razvoj iger, kriptografske operacije in matematični izračuni, z izvajanjem kode, napisane v prevedenih jezikih, kot je C/C++.

Med glavnimi nalogami WebAssemblyja je zagotavljanje prenosljivosti, predvidljivosti obnašanja in identitete izvajanja kode na različnih platformah. V zadnjem času je bil WebAssembly promoviran tudi kot univerzalna platforma za varno izvajanje kode na kateri koli infrastrukturi, operacijskem sistemu in napravi, ne samo v brskalnikih.

O osnutku WebAssembly 2.0

Na delu sprememb, ki so bile narejene od WebAssembly, so končni predlogi za WebAssembly 2.0 SIMD s fiksno širino, operacije množičnega pomnilnika, referenčne vrste, podpora JavaScript BigInt za WebAssembly i64, podpora za več vrnjenih vrednosti in uvoz/izvoz spremenljivih globalne spremenljivke.

W3C je objavil tri osnutke specifikacij WebAssembly 2.0:

  1. Jedro spletne montaže: opisuje nizkonivojski virtualni stroj za izvajanje vmesne kode WebAssembly. Viri, povezani z WebAssembly, so v obliki ".wasm", podobni datotekam Java ".class", ki vsebujejo statične podatke in segmente kode za delo s temi podatki.
  2. Vmesnik JavaScript WebAssembly: ponuja API za integracijo z JavaScriptom. Omogoča pridobivanje vrednosti in posredovanje parametrov funkcijam WebAssembly. Izvajanje WebAssembly sledi varnostnemu modelu JavaScript, vsa interakcija z gostiteljem pa se izvaja podobno kot pri izvajanju kode JavaScript.
  3. Spletni API WebAssembly: definira API, ki temelji na mehanizmu Promise za zahtevanje in izvajanje virov ".wasm". Format vira WebAssembly je optimiziran za začetek izvajanja brez čakanja, da se datoteka v celoti prenese, kar izboljša odzivnost spletnih aplikacij.

Razlike med WebAssembly in WebAssembly 2.0

Prav tako je treba opozoriti, da je v WebAssembly 2.0 v primerjavi s prvo različico standarda nekaj pomembnih sprememb:

  • v128 podpora vektorskega tipa in z njimi povezana vektorska navodila, ki vam omogočajo vzporedno izvajanje operacij na več številskih vrednostih (SIMD, posamezno navodilo, več podatkov).
  • Sposobnost uvoza in izvoza spremenljivih globalnih spremenljivk, ki omogoča globalno vezavo za vrednosti kot kazalce sklada v C++.
  • Nova navodila za pretvorbo float v int, ki namesto da vrne izjemo ob prelivu rezultata, vrne najmanjšo ali največjo možno vrednost (potrebno za SIMD).
  • Navodila za razširitev predznaka celih števil (povečajte bitno globino števila, pri čemer ohranite predznak in vrednost).
  • Podpora za vračanje več vrednosti po blokih in funkcijah (kot tudi posredovanje več parametrov funkcijam).
  • Implementirajte funkciji JavaScript BigInt64Array in BigUint64Array za pretvorbo med vrsto JavaScript BigInt in predstavitev 64-bitnih celih števil WebAssembly.
  • Podpora za referenčne vrste (funcref in externref) in z njimi povezanimi stavki (select, ref.null, ref.func in ref.is_null).
  • navodila memory.copy, memory.fill, memory.init in data.drop za kopiranje podatkov med pomnilniškimi regijami in brisanje pomnilniških regij.
  • Navodila za neposreden dostop in spreminjanje tabel (table.set, table.get, table.size, table.grow).
  • Sposobnost ustvarjanja, uvoza in izvoza več tabel v enem modulu. Funkcije za kopiranje/izpolnjevanje tabel v paketnem načinu (table.copy, table.init in elem.drop).

Nazadnje, če vas zanima več o tem, se lahko posvetujete s podrobnostmi V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.