W3C annab WebAssembly soovitatava standardi staatuse

W3C konsortsium teatas WebAssembly tehnoloogiale soovitatud standardi staatuse andmise kohta. WebAssembly pakub brauserist sõltumatut universaalset madala tasemega vahepealset koodi erinevatest programmeerimiskeeltest koostatud rakenduste käitamiseks. WebAssembly on paljutõotavam ja brauseriteülene kaasaskantav tehnoloogia suure jõudlusega veebirakenduste loomiseks. WebAssemblyt saab kasutada jõudlusmahukate ülesannete jaoks, nagu video kodeerimine, helitöötlus, graafika ja 3D manipuleerimine, mängude arendamine, krüptooperatsioonid, matemaatilised arvutused ja programmeerimiskeelte kaasaskantavate rakenduste loomine.

WebAssembly sarnaneb paljuski Asm.js-iga, kuid erineb selle poolest, et see on binaarvorming, mis ei ole JavaScriptiga seotud. WebAssembly ei vaja prügikogujat, kuna see kasutab selgesõnalist mäluhaldust. Kasutades JIT-i WebAssembly jaoks, saate saavutada algkoodile lähedase jõudluse taseme. WebAssembly peamiste eesmärkide hulgas on kaasaskantavuse, prognoositava käitumise ja identse koodi täitmise tagamine erinevatel platvormidel. Viimasel ajal on seda teinud ka WebAssembly edeneb universaalse platvormina koodi turvaliseks täitmiseks mis tahes infrastruktuuris, operatsioonisüsteemis ja seadmes, mitte ainult brauserites.

W3C on standardiseerinud kolm WebAssemblyga seotud spetsifikatsiooni:

  • Veebikoostu tuum — kirjeldab madala tasemega virtuaalmasinat WebAssembly vahekoodi täitmiseks. WebAssemblyga seotud ressursid on ".wasm"-vormingus, mis sarnaneb Java ".class"-failiga, mis sisaldab staatilisi andmeid ja koodisegmente nende andmetega töötamiseks.
  • WebAssembly veebi API — määratleb programmeerimisliidese, mis põhineb Promise mehhanismil .wasm-ressursside taotlemiseks ja täitmiseks. WebAssembly ressursivorming on optimeeritud käivitama käivitamist ilma faili täielikku laadimist ootamata, mis parandab veebirakenduste reageerimisvõimet.
  • WebAssembly JavaScripti liides — Pakub API-d JavaScriptiga integreerimiseks. Võimaldab hankida väärtusi ja edastada parameetreid WebAssembly funktsioonidele. WebAssembly käivitamine järgib JavaScripti turvamudelit ja kogu põhisüsteemiga suhtlemine toimub samamoodi nagu JavaScripti koodi käivitamine.

Tulevikus plaanime ette valmistada spetsifikatsioonid sellistele WebAssembly funktsioonidele nagu:

  • Mitme lõimega töötlemine ühismälu ja aatomimälu juurdepääsuga;
  • SIMD-l põhinevad vektoroperatsioonid, mis võimaldavad tsükli täitmist paralleelselt;
  • Viitetüübid objektidele otse viitamiseks WebAssembly koodist;
  • Võimalus kutsuda funktsioone ilma virnale lisaruumi kulutamata;
  • Integratsioon ECMAScript moodulitega – võimalus laadida JavaScriptist WebAssembly koodi moodulitena, mis vastavad ECMAScript 6 spetsifikatsioonile;
  • Prügikogumisrežiim;
  • Silumisliidesed;
  • WASI (WebAssembly System Interface) - API otseseks suhtluseks operatsioonisüsteemiga (POSIX API failide, pistikupesadega jne töötamiseks).

    Allikas: opennet.ru

Lisa kommentaar