W3C antaa WebAssembly Recommended Standard -tilan

W3C-konsortio ilmoitti WebAssembly-teknologian suositellusta standardista. WebAssembly tarjoaa selaimesta riippumattoman, yleisen, matalan tason keskitason koodin eri ohjelmointikielistä koottujen sovellusten suorittamiseen. WebAssembly on asetettu lupaavammaksi ja selainväliseksi kannettavaksi teknologiaksi korkean suorituskyvyn verkkosovellusten luomiseen. WebAssemblya voidaan käyttää suorituskykyintensiivisiin tehtäviin, kuten videokoodaukseen, äänenkäsittelyyn, grafiikkaan ja 3D-käsittelyyn, pelien kehittämiseen, salaustoimintoihin, matemaattisiin laskelmiin ja ohjelmointikielten kannettavien toteutusten luomiseen.

WebAssembly on monella tapaa samanlainen kuin Asm.js, mutta eroaa siinä, että se on binäärimuoto, jota ei ole sidottu JavaScriptiin. WebAssembly ei vaadi roskienkerääjää, koska se käyttää nimenomaista muistinhallintaa. Käyttämällä JIT for WebAssemblya voit saavuttaa suorituskykytasot lähellä alkuperäistä koodia. WebAssemblyn tärkeimpiä tavoitteita on varmistaa siirrettävyys, ennustettava toiminta ja identtinen koodin suoritus eri alustoilla. Viime aikoina WebAssembly on myös etenee universaalina alustana suojatun koodin suorittamiseen missä tahansa infrastruktuurissa, käyttöjärjestelmässä ja laitteessa, ei rajoitu selaimiin.

W3C on standardoinut kolme WebAssemblyyn liittyvää spesifikaatiota:

  • WebAssembly-ydin — kuvaa matalan tason virtuaalikoneen WebAssembly-välikoodin suorittamiseen. WebAssemblyyn liittyvät resurssit tulevat ".wasm"-muodossa, joka on samanlainen kuin Java ".class"-tiedosto, joka sisältää staattista dataa ja koodisegmenttejä tietojen käsittelyä varten.
  • WebAssembly Web API — määrittelee Promise-mekanismiin perustuvan ohjelmointirajapinnan ".wasm"-resurssien pyytämiseen ja suorittamiseen. WebAssembly-resurssimuoto on optimoitu aloittamaan suoritus odottamatta tiedoston latautumista täyteen, mikä parantaa verkkosovellusten reagointikykyä.
  • WebAssembly JavaScript -käyttöliittymä — Tarjoaa API:n integrointia varten JavaScriptin kanssa. Voit saada arvoja ja välittää parametreja WebAssembly-funktioille. WebAssemblyn suoritus noudattaa JavaScript-suojausmallia ja kaikki vuorovaikutus pääjärjestelmän kanssa tapahtuu samalla tavalla kuin JavaScript-koodin suorittaminen.

Tulevaisuudessa aiomme valmistella eritelmiä sellaisille WebAssembly-ominaisuuksille kuin:

  • Monisäikeinen jaettu muisti ja atomimuistin käyttö;
  • SIMD-pohjaiset vektorioperaatiot, jotka mahdollistavat silmukan suorituksen rinnakkaistamisen;
  • Viitetyypit, joilla viitataan suoraan objekteihin WebAssembly-koodista;
  • Mahdollisuus kutsua toimintoja kuluttamatta ylimääräistä tilaa pinossa;
  • Integrointi ECMAScript-moduulien kanssa - mahdollisuus ladata WebAssembly-koodia JavaScriptistä moduuleina, jotka ovat ECMAScript 6 -spesifikaatioiden mukaisia;
  • Jätteenkeräystila;
  • Virheenkorjausliitännät;
  • OLINKO MINÄ (WebAssembly System Interface) - API suoraa vuorovaikutusta varten käyttöjärjestelmän kanssa (POSIX API tiedostojen, pistokkeiden jne. käsittelyyn).

    Lähde: opennet.ru

Lisää kommentti