A Wasmer 3.0 a WASI, az API-k, a memóriakezelés és egyebek fejlesztéseivel érkezik

Wasmer

A Wasmer egy gyors és biztonságos WebAssembly futási környezet, amely lehetővé teszi, hogy a szuperkönnyű konténerek bárhol futhassanak: az asztaltól a felhő-, szél- és IoT-eszközökig.

Az előző kiadás óta eltelt közel 6 hónap után megjelent a Wasmer 3.0 új verziója, a projekt harmadik nagy változata, amely fejleszt egy futási környezet a WebAssembly modulok végrehajtásához amelyek segítségével univerzális alkalmazások hozhatók létre, amelyek különböző operációs rendszereken futhatnak, valamint nem megbízható kódvégrehajtásra is alkalmasak.

La ugyanazt az alkalmazást különböző platformokon futtatni ezt úgy biztosítják, hogy a kódot alacsony szintű WebAssembly köztes kódba fordítják, amely bármilyen operációs rendszeren futhat, vagy más programozási nyelvű programokba beágyazható. A programok könnyű konténerek, amelyek WebAssembly pszeudokódot futtatnak.

Ezek a tárolók nincsenek az operációs rendszerhez kötve, és eredetileg bármilyen programozási nyelven írt kódot tartalmazhatnak.

A WebAssembly jelenlegi platform gépi kódjára történő lefordításához Ön támogatja a különböző build háttérrendszerek összekapcsolását (Singlepass, Cranelift, LLVM) és motorok (JIT használatával vagy gépi kód generálásával). A hozzáférés-vezérlést és a rendszerrel való interakciót a WASI (WebAssembly System Interface) API biztosítja, amely programozási felületeket biztosít a fájlokkal, socketekkel és az operációs rendszer által biztosított egyéb funkciókkal való munkavégzéshez.

A platform lehetővé teszi a natív buildekéhez közeli alkalmazás-végrehajtási teljesítmény elérését.

A Wasmer 3.0 főbb újdonságai

A Wasmer 3.0 új verziójában a natív futtatható fájlok létrehozásának képessége bármilyen platformon. A parancs "wasmer create-exe» teljesen újratervezték, hogy a WebAssembly köztes kódfájlt önálló végrehajtható fájlokká alakítsák Linux, Windows és macOS platformokon, amelyek a Wasmer telepítése nélkül is futtathatók.

Egy másik bemutatott újdonság, hogy a WAPM-csomagok futtatásának képessége a wapm.io könyvtárban található a "wasmer run" paranccsal. Például hajtsa végre a "wasmer run python/python» letölti a python csomagot a wapm.io tárolóból, és futtatja.

A Wasmer Rust API-t teljesen újratervezték, megváltoztatja a memóriakezelés módját, és lehetővé teszi a Wasm objektumok biztonságos tárolását a Store struktúrában.

A Wasmer 3.0 új verziójában szintén kiemelik a továbbfejlesztett WASI API implementáció (WebAssembly System Interface), amellett, hogy kijavítja a WASI API problémáit a fájlrendszerrel való együttműködés érdekében. A belső típusokat a WAI (WebAssembly Interfaces) segítségével alakították át, ami lehetővé teszi egy sor új funkció megvalósítását a jövőben.

Ezen túlmenően a motorok is leegyszerűsödtek, mivel a JIT-hez különálló motorok helyett dinamikus és statikus kötés (Universal, Dylib, StaticLib), most közös motort kínál, valamint betölti és elmenti a kódot amelyet a paraméter beállítási szinten vezérelnek.

A műtermékek deszerializálásához az rkyv keretrendszert használják, amely nulla másolási műveletet biztosít, azaz nem igényel további memóriafoglalást, és csak az eredetileg biztosított puffer felhasználásával hajtja végre a deszerializálást.

A egyéb változások amelyek kiemelkednek ebből az új verzióból:

  • Az rkyv használata jelentősen megnövelte az indítási sebességet.
  • A Singlepass fordítót továbbfejlesztették, hogy támogassa a többértékű funkciókat, javítsa a megbízhatóságot, és kiegészítse a kivételkezelési keretrendszerek támogatását.
  • Az összetevők halmaza wasmer-js úgy lett megvalósítva, hogy a Wasmert webböngészőben futtassa, és a könyvtár segítségével JavaScriptből interakcióba lépjen vele wasm-bindgen.
  • Új szerkezetet javasoltak. MemoryView amely lehetővé teszi adatok olvasását és írását egy lineáris memóriaterületen.

Végül meg kell említeni, hogy a programok közönséges WebAssembly modulok formájában kerülnek terjesztésre, amelyek a WAPM csomagkezelő segítségével kezelhetők. A Wasmer könyvtárként is elérhető, amely a WebAssembly kód beágyazására használható Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir és Java programokba.

A projekt kódja Rust nyelven íródott, és az MIT licenc alatt terjesztik, és többet megtudhat róla, A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.