W3C gee WebAssembly Recommended Standard-status

W3C-konsortium aangekondig om WebAssembly-tegnologie die status van 'n aanbevole standaard te gee. WebAssembly bied blaaier-onafhanklike, universele, lae-vlak intermediêre kode vir die loop van toepassings saamgestel uit verskeie programmeertale. WebAssembly is geposisioneer as 'n meer belowende en kruisblaaier draagbare tegnologie vir die skep van hoëprestasie webtoepassings. WebAssembly kan gebruik word vir prestasie-intensiewe take soos video-enkodering, klankverwerking, grafika en 3D-manipulasie, spelontwikkeling, kriptografiese bewerkings, wiskundige berekeninge en die skep van draagbare implementerings van programmeertale.

WebAssembly is in baie opsigte soortgelyk aan Asm.js, maar verskil deurdat dit 'n binêre formaat is wat nie aan JavaScript gekoppel is nie. WebAssembly vereis nie 'n vullisverwyderaar nie, want dit gebruik eksplisiete geheuebestuur. Deur JIT vir WebAssembly te gebruik, kan jy prestasievlakke naby aan inheemse kode bereik. Een van die hoofdoelwitte van WebAssembly is om oordraagbaarheid, voorspelbare gedrag en identiese kode-uitvoering op verskillende platforms te verseker. Die afgelope tyd het WebAssembly ook vorder as 'n universele platform vir veilige uitvoering van kode op enige infrastruktuur, bedryfstelsel en toestel, nie beperk tot blaaiers nie.

Die W3C het drie spesifikasies wat met WebAssembly verband hou, gestandaardiseer:

  • WebAssemble-kern - beskryf 'n lae-vlak virtuele masjien vir die uitvoering van WebAssembly intermediêre kode. WebAssembly-verwante hulpbronne kom in 'n ".wasm"-formaat, soortgelyk aan 'n Java ".class"-lêer, wat statiese data en kodesegmente bevat om met daardie data te werk.
  • WebAssembly Web API — definieer 'n programmeringskoppelvlak gebaseer op die Promise-meganisme vir die versoek en uitvoer van ".wasm"-hulpbronne. Die WebAssembly-hulpbronformaat is geoptimaliseer om met uitvoering te begin sonder om te wag dat die lêer volledig gelaai is, wat die responsiwiteit van webtoepassings verbeter.
  • WebAssembly JavaScript-koppelvlak - Bied 'n API vir integrasie met JavaScript. Laat jou toe om waardes te ontvang en parameters deur te gee aan WebAssembly-funksies. Die uitvoering van WebAssembly volg die JavaScript-sekuriteitsmodel en alle interaksie met die hoofstelsel word op dieselfde manier uitgevoer as om JavaScript-kode uit te voer.

In die toekoms beplan ons om spesifikasies vir sulke WebAssembly-kenmerke voor te berei soos:

  • Multithreading met gedeelde geheue en toegang tot atoomgeheue;
  • Vektorbewerkings gebaseer op SIMD, wat parallellisering van lusuitvoering moontlik maak;
  • Verwysingstipes vir direkte verwysing van voorwerpe vanaf WebAssembly-kode;
  • Vermoë om funksies te bel sonder om ekstra spasie op die stapel te spandeer;
  • Integrasie met ECMAScript-modules - die vermoë om WebAssembly-kode vanaf JavaScript te laai as modules wat aan die ECMAScript 6-spesifikasie voldoen;
  • Vullisverwydermodus;
  • Ontfouting koppelvlakke;
  • WAS EK (WebAssembly System Interface) - API vir direkte interaksie met die bedryfstelsel (POSIX API vir werk met lêers, voetstukke, ens.).

    Bron: opennet.ru

Voeg 'n opmerking