Elérhető a Wasmer 2.0, a WebAssembly alapú alkalmazások fejlesztéséhez készült eszközkészlet.

A Wasmer projekt második jelentős verziója megjelent, amely WebAssembly modulok futtatására szolgáló runtime-ot fejleszt, amely univerzális alkalmazások létrehozására használható, amelyek különböző operációs rendszereken is futtathatók, valamint megbízhatatlan kód izolált végrehajtására. A projekt kódja Rust nyelven íródott, és MIT licenc alatt terjesztik.

A hordozhatóságot az alkalmazás kódjának alacsony szintű WebAssembly köztes kódra való lefordítása biztosítja, amely bármely operációs rendszeren futtatható vagy más programozási nyelvekbe beépíthető. A programok könnyű konténerek, amelyekben a WebAssembly álkódja fut. Ezek a konténerek nem kötődnek az operációs rendszerhez, és tartalmazhatnak kódot, amelyet bármely programozási nyelven írtak. A WebAssembly-be való fordításhoz az Emscripten eszközkészlet használható. A WebAssembly gépi kódra való lefordításához a jelenlegi platformhoz különböző fordító háttér támogatott (Singlepass, Cranelift, LLVM) és motorok (JIT használata vagy gépi kód generálás).

A hozzáférés kezelése és a rendszerrel való interakció az API WASI (WebAssembly System Interface) révén történik, amely programozási interfészeket biztosít fájlokkal, socketekkel és más funkciókkal való munkavégzéshez, amelyeket az operációs rendszer biztosít. Az alkalmazások a fő rendszertől izoláltan, sandbox környezetben futnak, és csak a nyilatkozott funkciókhoz férnek hozzá (a jogosultságok alapú biztonsági mechanizmus révén – minden egyes erőforrással (fájlok, könyvtárak, socketek, rendszerszólítások stb.) kapcsolatos cselekvéshez az alkalmazásnak megfelelő jogosítványokat kell kapnia).

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 platform that achieves application performance close to that of native builds. With the Native Object Engine for the WebAssembly module, machine code can be generated ("wasmer compile —native" to generate precompiled object files .so, .dylib, and .dll), minimally requiring runtime but retaining all sandbox isolation capabilities. It’s possible to deliver precompiled programs with an integrated Wasmer. To create extensions and add-ons, Rust API and Wasm-C-API are available.

The significant version change of Wasmer is associated with incompatible changes in the internal API, which developers assure will not affect 99% of the platform users. Notable breaking changes also include a change in the format of serialized Wasm modules (modules serialized in Wasmer 1.0 will not be usable in Wasmer 2.0). Other changes:

  • Support for SIMD (Single Instruction, Multiple Data) instructions, which allow operations on data to be parallelized. Areas where SIMD can significantly enhance performance include machine learning, video encoding and decoding, image processing, physical process simulation, and graphics manipulation.
  • Support for reference types, which allow Wasm modules to access information in other modules or the host environment.
  • Significant performance optimization has been carried out. The speed of the LLVM runtime with floating-point numbers has increased by about 50%. Function calls have been significantly accelerated by reducing the situations that require access to the kernel. The performance of the Cranelift code generator has increased by 40%. Data deserialization time has been reduced.
    Elérhető a Wasmer 2.0, a WebAssembly alapú alkalmazások fejlesztéséhez készült eszközkészlet.
    Elérhető a Wasmer 2.0, a WebAssembly alapú alkalmazások fejlesztéséhez készült eszközkészlet.
  • To more accurately reflect the essence, the names of the engines have been changed: JIT → Universal, Native → Dylib (Dynamic Library), Object File → StaticLib (Static Library).

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