Megérkezett a Wasmer 5.0, a WebAssembly alapú alkalmazások létrehozásának eszközkészlete

Bemutatásra került a Wasmer 5.0 kiadása, amely egy runtime fejlesztés a WebAssembly modulok végrehajtásához, amelyet univerzális alkalmazások létrehozásához lehet használni, amelyek különböző operációs rendszereken futtathatók. A Wasmer emellett izolált, megbízhatatlan kódblokkok végrehajtásához is alkalmazható hagyományos alkalmazások keretein belül. A projekt kódja Rust nyelven íródott, és MIT licenc alatt terjesztik.

Az egyes alkalmazások különböző platformokon való futtatásának lehetősége az alacsony szintű köztes kódra, WebAssembly-re való fordításon keresztül valósul meg, amely bármely operációs rendszerben futtatható, vagy más programozási nyelvekbe ágyazható. Az alkalmazások könnyű konténerek, amelyekben WebAssembly álkód fut. Ezek a konténerek nem kapcsolódnak egy operációs rendszerhez, és tartalmazhatnak bármilyen programozási nyelven írt kódot.

A WebAssembly köztes kód végrehajtásához vagy gépi kódra való fordításához különböző backend-ek állnak rendelkezésre:

  • Singlepass fordítón alapuló backend, amely optimalizált blockchain használatra.
  • Cranelift kódgenerátor alapú backend, amely optimalizált fejlesztési folyamathoz.
  • LLVM fordítón alapuló backend, amely optimális munkahelyi telepítésekhez.
  • Webböngészőben történő futtatásra szolgáló backend.
  • JavascriptCore JavaScript-motorra épülő backend, amely optimalizált macOS platformon való használatra.
  • V8 JavaScript-motorra épülő backend, amely optimalizált iOS és Android platformokra.
  • Wasmi interpreter alapú backend, amely optimalizált blockchainokhoz és Rust-projektekhez, amelyek nem használják a standard könyvtárat (nostd).
  • WAMR runtime-ra épülő backend, amely optimalizált iOS platformhoz

Az alkalmazásokat elszigetelik a fő rendszertől egy sandbox környezetben, és csak a kijelölt funkciókhoz férnek hozzá. Az elszigetelés egy képességmenedzsment alapú mechanizmust alkalmaz – minden egyes erőforrással (fájlok, könyvtárak, socketek, rendszerhívások stb.) végzett művelethez az alkalmazás meg kell kapja a megfelelő jogosultságokat. A rendszerhez való hozzáférés és interakció az API WASI (WebAssembly System Interface) segítségével valósul meg, amely programozási interfészeket kínál fájlokkal, socketekkel és más rendszerfunkciókkal való munkához.

A platform lehetővé teszi, hogy az alkalmazások végrehajtási teljesítménye közel kerüljön a natív build-hez. A WebAssembly modul számára a Native Object Engine segítségével gépi kód generálható, amelyhez minimális runtime szükséges, ugyanakkor megmaradnak a sandbox-elszigetelés minden lehetősége. Lehetséges előkompilált programok szállítása beépített Wasmer-rel. Bővítmények és kiterjesztések létrehozására Rust API és Wasm-C-API áll rendelkezésre.

A WebAssembly konténer elindításához elegendő a Wasmer runtime telepítése a rendszerbe, amely külső függőségek nélkül érkezik („curl https://get.wasmer.io -sSfL | sh”), és az szükséges fájl elindítása („wasmer test.wasm”). A programok hagyományos WebAssembly modulok formájában terjesztendők, amelyeket a WAPM csomagkezelővel lehet kezelni. A Wasmer könyvtár formájában is elérhető, amely lehetővé teszi a WebAssembly kód beépítését Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir és Java nyelvű programokba.

A Wasmer 5.0 fő újdonságai:

  • Lehetőség nyílt WebAssembly értelmezők használatára.
  • Hozzáadva egy kísérleti backend a könnyű Wasmi értelmező alapjaira, amely lehetővé teszi a WebAssembly köztes kód végrehajtását korlátozott erőforrású környezetekben.
  • Hozzáadva egy kísérleti backend a WebAssembly runtime WAMR (WebAssembly Micro Runtime) alapjaira, amely optimalizált a minimális erőforrás-felhasználásra, és alkalmas eszközökön való alkalmazásra, amelyek korlátozott memóriakapacitással rendelkeznek.
  • Hozzáadva egy kísérleti backend a Chromium-alapú böngészőkben használt V8 JavaScript motor alapján. A V8 backend legfontosabb előnye, hogy lehetővé teszi az eszközhöz beépített hibakeresőt és webfejlesztői eszközöket, valamint a WebAssembly kibővített funkcionalitását, mint például a kivételkezelés és a szemétgyűjtés.
  • Az LLVM-t használó backendhez hozzáadva a Loongarch64 architektúra kísérleti támogatása.
  • Hozzáadva az iOS platform támogatása, elérhető a WAMR, Wasmi és V8 backendek használatával.
  • Megszüntették az Emscripten fordító támogatását.
  • Frissítve a függőségeket, köztük LLVM 18, Cranelift 27 kódgeneráló és rkyv 0.8 keretrendszer.
  • A teljesítmény optimalizálása megtörtént. Például a modulok deszerializálási műveleteinél a teljesítménynövekedés akár 50% is lehet.
    Megérkezett a Wasmer 5.0, a WebAssembly alapú alkalmazások létrehozásának eszközkészlete
    Megérkezett a Wasmer 5.0, a WebAssembly alapú alkalmazások létrehozásának eszközkészlete
    Megérkezett a Wasmer 5.0, a WebAssembly alapú alkalmazások létrehozásának eszközkészlete
    Megérkezett a Wasmer 5.0, a WebAssembly alapú alkalmazások létrehozásának eszközkészlete
    Megérkezett a Wasmer 5.0, a WebAssembly alapú alkalmazások létrehozásának eszközkészlete
    Megérkezett a Wasmer 5.0, a WebAssembly alapú alkalmazások létrehozásának eszközkészlete
    Megérkezett a Wasmer 5.0, a WebAssembly alapú alkalmazások létrehozásának eszközkészlete

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster