Mozilla, Nekukurumidza, Intel uye Red Hat
Kugadzira mapurogiramu anotakurika akaunzwa muWebAssembly fomati inogona kuitwa kunze kwebrowser, isu tinokurudzira kushandisa iyo API.
Imwe ye
Nekudzivirira, zvinokurudzirwa kushandisa pfungwa ye nanoprocesses, umo modhi yega yega yekutsamira inopatsanurwa kuita yakaparadzana yega WebAssembly module, masimba ayo akaiswa anoenderana chete nemodule iyi (semuenzaniso, raibhurari yekugadzira tambo haizoiti. kukwanisa kuvhura network socket kana faira). Kusiyana nekuparadzaniswa kwemaitiro, WebAssembly vanobata vane huremu uye vanoda zvimwe zviwanikwa - kudyidzana pakati pevabati hakusi kunonoka kupfuura kudana mabasa akajairwa. Kuparadzanisa kunogona kuitwa kwete chete pamwero wemamodule ega, asiwo pamwero wemapoka emamodule ayo, semuenzaniso, anoda kushanda nenzvimbo dzakajairwa dzekurangarira.
Iwo masimba akakumbirwa anogona kutariswa ese ari padanho rezvitsamira ivo pachavo, uye kupihwa kune vanotsamira pacheni nemamodule evabereki (zvishandiso muWASI zvakabatana nemhando yakakosha yefaira descriptor - kugona). Semuenzaniso, moduru inogona kupihwa kugona kuwana chaiyo dhairekitori uye masisitimu mafoni, uye kana iyo module yekuvandudza zvivakwa ikakanganiswa kana njodzi ichionekwa, panguva yekurwiswa, kuwana kunongogumira kune izvi zviwanikwa. Kuziviswa kwezviwanikwa nevagadziri vemodule kunogona kuve chiratidzo chekufungidzira chiitiko, senge kana mameseji ekugadzirisa mameseji achikumbira mvumo yekuvhura network yekubatanidza. Mamvumo ekutanga akaiswa anotariswa uye kana achinja, kutsamira kurodha kunorambwa kudzamara siginecha yemodhiyo yagadziridzwa.
Yekuvandudza pamwe pasi pebapiro reBytecode Alliance
-
Nguva yemasikati - nguva yekumhanya yekumhanyisa WebAssembly application ine WASI yekuwedzera seyakajairwa yakamira-yega application. Inotsigira ese ari maviri kuvhura WebAssembly bytecode uchishandisa yakakosha mutsara mutsara utility uye kubatanidza akagadzirira-akagadzirwa eecutable mafaera (wasmtime yakavakirwa mukushandisa seraibhurari). Wasmtime ine inoshanduka modular dhizaini iyo inokutendera iwe kuyera iyo yekumhanyisa nguva yeakasiyana maapplication, semuenzaniso, unogona kugadzira yakabviswa-pasi vhezheni yemidziyo ine mashoma zviwanikwa; -
Lucet - compiler uye nguva yekumhanya yekuita zvirongwa muWebAssembly fomati. Distinctivefeature Lucet iko kushandiswa kwekuzara-kwakazara kwekufungidzira kuunganidza (AOT, kumberi-kwenguva) pachinzvimbo cheJIT mumashini kodhi yakakodzera kuurayiwa kwakananga. Iyo purojekiti yakagadziridzwa neFastly uye yakagadziridzwa kushandisa zviwanikwa zvidiki uye kuvhura zviitiko zvitsva nekukurumidza (Nekukurumidza inoshandisa Lucet mune yegore kumucheto komputa injini inoshandisa WebAssembly yevabati vanotangwa pachikumbiro chega chega). Sechikamu chepurojekiti yakabatana, iyo Lucet compiler yakarongwa kushandurwa kuti ishandise Wasmtime sehwaro; -
WAMR (WebAssembly Micro Runtime) imwe nguva yekumhanya yekuita WebAssembly, yakatanga kugadzirwa neIntel kuti ishandiswe muInternet yeZvinhu zvishandiso. WAMR yakagadziridzwa kuti ishandiswe zvishoma zviwanikwa uye inogona kushandiswa pamidziyo ine ishoma RAM. Iyo purojekiti inosanganisira muturikiri uye muchina chaiwo wekuita WebAssembly bytecode, API (a subset yeLibc) uye maturusi eiyo dynamic application manejimendi; -
crane lift - kodhi jenareta iyo inoshandura inomiririra yepakati yakazvimirira yezvivakwa zvehardware kuita kodhi yemuchina inogoneka yakagadziridzwa kune chaiyo hardware mapuratifomu. Cranelift inotsigira parallelization yebasa rekubatanidza kune inokurumidza mhedzisiro chizvarwa, iyo inobvumira kuti ishandiswe kugadzira JIT compilers (Cranelift-based JIT inoshandiswa muWasmtime virtual muchina); -
WASI common -Kuitwa kwakasiyana kweWASI (WebAssembly System Interface) API yekuronga kupindirana neiyo inoshanda sisitimu; -
cargo-wasi - module yeCargo package maneja inoshandisa murairo wekunyora Rust kodhi muWebAssembly bytecode uchishandisa iyo WASI interface yekushandisa WebAssembly kunze kwebrowser; -
Wat ΠΈwasmparser - mapars ekunyora zvinyorwa (WAT, WAST) uye mabhinari anomiririra yeWebAssembly bytecode.
Kudzokorora, WebAssembly yakafanana neAsm.js, asi
Source: opennet.ru