W3C konsortsium WebAssembly'le soovitatava standardi staatuse andmisest. WebAssembly pakub brauserist sĂ”ltumatut universaalset madala taseme vahevormi rakenduste tĂ€itmiseks, mis on kompileeritud erinevatest programmeerimiskeeltest. WebAssembly positsioneeritakse kui lubav ja brauserite vahel ĂŒlekantav tehnoloogia, mis vĂ”imaldab luua suure jĂ”udlusega veebirakendusi. WebAssembly't saab kasutada ĂŒlesannete lahendamiseks, mis nĂ”uavad kĂ”rget jĂ”udlust, nĂ€iteks video kodeerimine, heli töötlemine, graafika ja 3D manipuleerimine, mĂ€ngude arendamine, krĂŒptograafilised operatsioonid, matemaatilised arvutused ja programmeerimiskeelte ĂŒlekantavate teostuste loomine.
WebAssembly sarnaneb Asm.js-le, kuid erineb sellest, et on binaarvormaat, mis ei sĂ”ltu JavaScriptist. WebAssembly's ei ole vajalik prĂŒgikoristus, kuna mĂ€lu haldamine on selgesĂ”naliselt. JIT rakendamise tĂ”ttu vĂ”ib WebAssembly saavutada jĂ”udluse, mis on lĂ€hedane kohalikele koodidele. Peamised eesmĂ€rgid WebAssembly's on tagada ĂŒlekantavus, kĂ€itumise ennustatavus ja koodi tĂ€itmise identiteet erinevates platvormides. Viimasel ajal edendatakse WebAssembly-t universaalset platvormi, et turvaliselt koodi tĂ€ita igasugustes infrastruktuurides, operatsioonisĂŒsteemides ja seadmetes, mitte piiratud ainult brauseritega.
W3C on standardiseerinud kolm spesifikatsiooni, mis on seotud WebAssembly-ga:
- â kirjeldab madala taseme virtuaalmasinat WebAssembly vahepealse koodi tĂ€itmiseks. WebAssemblyga seotud ressursid tarnitakse â.wasmâ formaadis, mis sarnaneb Java â.classâ failiga ja sisaldab staatilisi andmeid ja koode, mida nende andmete töötlemiseks kasutatakse.
- â mÀÀratleb lubadusmehhanismile pĂ”hineva rakenduseprogrammi liidese, et taotleda ja tĂ€ita â.wasmâ ressursse. WebAssembly ressursi formaat on optimeeritud tĂ€itmise alustamiseks ilma faili tĂ€ielikku laadimist ootamata, mis suurendab veebirakenduste vastupidavust.
- â pakub API-d JavaScriptiga integreerimiseks. See vĂ”imaldab WebAssembly funktsioonidesse vÀÀrtuste saamist ja parameetrite edastamist. WebAssembly tĂ€itmine vastab JavaScripti turvamudelile ning kĂ”ik suhtlemine pĂ”hissĂŒsteemiga toimub sarnaselt JavaScripti koodi tĂ€itmisega.
Tulevikus on plaanis koostada WebAssembly jaoks jÀrgmiste vÔimaluste spetsifikatsioonid, nagu:
- Kasutajate vaheline mÀlude jagamine ja aatomiline ligipÀÀs mÀlule;
- SIMD baasil pĂ”hinevad vektorioperatsioonid, mis vĂ”imaldavad tsĂŒklite tĂ€itmist paralleelselt;
- Viidatud tĂŒĂŒbid otseste viidete jaoks WebAssembly koodist objektidele;
- Funktsioonide kutsumise vÔimalus ilma tÀiendava ruumi kuluta virnas;
- ECMAScript moodulitega integreerimine â WebAssembly koodi laadimise vĂ”imalus JavaScriptist, vastavalt ECMAScript 6 spetsifikatsioonile;
- PrĂŒgi koristaja reĆŸiim;
- Silumisliidesed;
- (WebAssembly System Interface) â API otseseks suhtlemiseks operatsioonisĂŒsteemiga (POSIX API failide, socketite jne töötlemiseks).
Allikas: opennet.ru
