Konsorciumi W3C për dhënien e statusit standard të rekomanduar teknologjisë WebAssembly. WebAssembly siguron një kod të ndërmjetëm universalisht të ulët dhe të pavarur nga shfletuesi për ekzekutimin e aplikacioneve të kompiluar nga gjuhë të ndryshme programimi. WebAssembly pozicionohet si një teknologji më e perspektivshme dhe e transportueshme midis shfletuesve për krijimin e aplikacioneve web me performancë të lartë. WebAssembly mund të përdoret për të zgjidhur detyra që kërkojnë performancë të lartë, siç janë kodimi i videove, përpunimi i tingujve, manipulimi me grafikë dhe 3D, zhvillimi i lojërave, operacioneve kriptografike, llogaritjeve matematikore dhe krijimi i implementimeve të transportueshme të gjuhëve të programimit.
WebAssembly shumëngjashem me Asm.js, por dallohet sepse është një format binar, i pavarur nga JavaScript. Në WebAssembly nuk kërkohet përdorimi i një mbledhësi të mbeturinave, pasi përdoret menaxhimi i drejtpërdrejtë i memories. Me angazhimin JIT për WebAssembly, mund të arrihet një nivel performance të ngjashëm me kodin natyror. Ndër detyrat kryesore të WebAssembly është garantimi i transportueshmërisë, parashikueshmërisë së sjelljes dhe identitetit të ekzekutimit të kodit në platforma të ndryshme. Kohët e fundit, WebAssembly gjithashtu si një platformë universale për ekzekutimin e sigurt të kodit në çdo infrastrukturë, sisteme operative dhe pajisje, pa u kufizuar në shfletues.
W3C ka standardizuar tre specifikacione lidhur me WebAssembly:
- â pĂ«rshkruan njĂ« makinĂ« tĂ« ulĂ«t virtuale pĂ«r ekzekutimin e kodit tĂ« ndĂ«rmjetĂ«m WebAssembly. Burimet e lidhura me WebAssembly ofrohen nĂ« formatin «.wasm», i ngjashĂ«m me skedarin «.class» nĂ« Java dhe pĂ«rmban tĂ« dhĂ«na statike dhe segmente kodu pĂ«r tĂ« punuar me kĂ«to tĂ« dhĂ«na.
- â pĂ«rcakton njĂ« ndĂ«rfaqe programimi tĂ« bazuar nĂ« mekanizmin e Premtimit pĂ«r kĂ«rkimin dhe ekzekutimin e burimeve «.wasm». Formati i burimeve WebAssembly Ă«shtĂ« optimizuar pĂ«r tĂ« nisur ekzekutimin pa pritur ngarkimin e plotĂ« tĂ« skedarit, çka rrit pĂ«rgjegjshmĂ«rinĂ« e aplikacioneve web.
- â ofron API pĂ«r integrimin me JavaScript. Lejon marrjen e vlerave dhe kalimin e parametrave nĂ« funksionet e WebAssembly. Ekzekutimi i WebAssembly pĂ«rputhet me modelin e sigurisĂ« sĂ« JavaScript dhe tĂ« gjitha ndĂ«rveprimet me sistemin kryesor realizohen nĂ« pĂ«rputhje me ekzekutimin e kodit JavaScript.
Në të ardhmen, është planifikuar përgatitja e specifikimeve për mundësitë e tilla të WebAssembly si:
- Multi-threading me memorie të ndarë dhe qasje atomike në memorie;
- Operacionet vektoriale në bazë të SIMD që lejojnë paralelizimin e ekzekutimit të cikleve;
- Tipet referenciale për referenca të drejtpërdrejta në objekte nga kodi WebAssembly;
- Mundësia e thirrjes së funksioneve pa shpenzuar hapësirë shtesë në stek;
- Integrimi me modulet ECMAScript â mundĂ«sia e ngarkimit tĂ« kodit WebAssembly nga JavaScript si modulet qĂ« pĂ«rputhen me specifikimin ECMAScript 6;
- Reimi i punës me koleksionin e mbeturinave;
- Interface për debugging;
- (WebAssembly System Interface) â API pĂ«r ndĂ«rveprimin e drejtpĂ«rdrejtĂ« me sistemin operativ (POSIX API pĂ«r punĂ« me skedarĂ«t, soketet etj.).
Burimi: opennet.ru
