Wasmer 5.0 Àr tillgÀnglig, verktyget för att skapa applikationer baserade pÄ WebAssembly

Version 5.0 of the Wasmer project has been released, developing a runtime for executing WebAssembly modules that can be used to create universal applications capable of running on different operating systems. Wasmer can also be used for the isolated execution of untrusted code blocks within regular applications. The project code is written in Rust and is distributed under the MIT license.

The ability to run a single application on different platforms is realized through compilation into low-level intermediate WebAssembly code, which can be executed on any OS or embedded in programs written in other programming languages. Programs are lightweight containers in which WebAssembly pseudocode is executed. These containers are not tied to an operating system and can include code originally written in any programming language.

Different backends are offered for executing WebAssembly intermediate code or translating it into the machine code of the target platform:

  • A backend based on the Singlepass compiler, optimal for use in blockchains.
  • A backend based on the Cranelift code generator, optimal for use during development.
  • A backend based on the LLVM compiler, optimal for use in production deployments.
  • A backend for running in a web browser.
  • A backend based on the JavascriptCore JavaScript engine, optimal for use on macOS.
  • A backend based on the V8 JavaScript engine, optimal for applications on iOS and Android platforms.
  • A backend based on the Wasmi interpreter, optimal for blockchains and Rust projects that do not use the standard library (nostd).
  • A backend based on the WAMR runtime, optimal for the iOS platform.

Applications are isolated from the main system in a sandbox environment and have access only to the declared functionality. Isolation is implemented using a capability-based management mechanism — for actions with each resource (files, directories, sockets, system calls, etc.), the application must be granted the corresponding permissions. Access control and system interaction are provided through the WASI (WebAssembly System Interface) API, which offers programming interfaces for working with files, sockets, and other system functions.

Plattformen möjliggör prestanda för applikationskörningar som ligger nÀra prestandan hos inbyggda byggnader. Med hjÀlp av Native Object Engine för WebAssembly-modulen kan maskinkod genereras, vars körning krÀver minimal runtime, men alla möjligheter till sandbox-isolering bevaras. Leverans av förkompilerade program med inbyggd Wasmer Àr möjlig. För skapande av tillÀgg och utökningar erbjuds Rust API och Wasm-C-API.

För att köra en WebAssembly-container rÀcker det med att installera runtime Wasmer i systemet, som levereras utan externa beroenden ("curl https://get.wasmer.io -sSfL | sh") och sedan köra den nödvÀndiga filen ("wasmer test.wasm"). Programmen distribueras i form av vanliga WebAssembly-moduler, som kan hanteras med paketförvaltaren WAPM. Wasmer finns ocksÄ som ett bibliotek som kan anvÀndas för att integrera WebAssembly-kod i program skrivna i Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir och Java.

Huvudnyheterna i Wasmer 5.0:

  • Möjligheten att anvĂ€nda WebAssembly-tolkare har införts.
  • En experimentell backend baserad pĂ„ den lĂ€tta tolken Wasmi har lagts till, vilket möjliggör exekvering av mellanliggande WebAssembly-kod i miljöer med begrĂ€nsade resurser.
  • En experimentell backend baserad pĂ„ WebAssembly-runtime WAMR (WebAssembly Micro Runtime) har lagts till, optimerad för minimal resursförbrukning och lĂ€mplig för anvĂ€ndning pĂ„ enheter med lite RAM.
  • En experimentell backend baserad pĂ„ JavaScript-motorn v8, som anvĂ€nds i webblĂ€sare baserade pĂ„ Chromium, har lagts till. Den största fördelen med att anvĂ€nda backend som baseras pĂ„ V8 Ă€r möjligheten att anvĂ€nda den inbyggda debuggern och verktygen för webbutvecklare, samt tillgĂ„ng till den utvidgade funktionaliteten för WebAssembly i V8, sĂ„som undantagshantering och skrĂ€psamling.
  • Experimentellt stöd för arkitekturen Loongarch64 har lagts till backend som anvĂ€nder LLVM.
  • Stöd för iOS-plattformen har lagts till och Ă€r tillgĂ€ngligt vid anvĂ€ndning av backend WAMR, Wasmi och V8.
  • Stödet för Emscripten-kompilatorn har upphört.
  • Beroenden har uppdaterats, inklusive LLVM 18, kodgeneratorn Cranelift 27 och ramen rkyv 0.8.
  • Prestandaoptimering har genomförts. Till exempel observeras en prestandaökning pĂ„ upp till 50% vid exekvering av deserialisering av moduler.
    Wasmer 5.0 Àr tillgÀnglig, verktyget för att skapa applikationer baserade pÄ WebAssembly
    Wasmer 5.0 Àr tillgÀnglig, verktyget för att skapa applikationer baserade pÄ WebAssembly
    Wasmer 5.0 Àr tillgÀnglig, verktyget för att skapa applikationer baserade pÄ WebAssembly
    Wasmer 5.0 Àr tillgÀnglig, verktyget för att skapa applikationer baserade pÄ WebAssembly
    Wasmer 5.0 Àr tillgÀnglig, verktyget för att skapa applikationer baserade pÄ WebAssembly
    Wasmer 5.0 Àr tillgÀnglig, verktyget för att skapa applikationer baserade pÄ WebAssembly
    Wasmer 5.0 Àr tillgÀnglig, verktyget för att skapa applikationer baserade pÄ WebAssembly

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster