Wasmer 3.0 prichádza s vylepšeniami WASI, API, správy pamäte a ďalších

Wasmer

Wasmer je rýchly a bezpečný runtime WebAssembly, ktorý umožňuje superľahkým kontajnerom bežať kdekoľvek: od desktopu po cloud, edge a IoT zariadenia.

Po takmer 6 mesiacoch od predchádzajúceho vydania bola vydaná nová verzia Wasmer 3.0, tretia hlavná verzia projektu, ktorá sa vyvíja runtime na spúšťanie modulov WebAssembly ktoré možno použiť na vytváranie univerzálnych aplikácií, ktoré môžu bežať na rôznych operačných systémoch, ako aj na nedôveryhodné spúšťanie kódu.

La schopnosť spúšťať rovnakú aplikáciu na rôznych platformách poskytuje sa kompiláciou kódu do nízkoúrovňového prechodného kódu WebAssembly, ktorý môže bežať na akomkoľvek operačnom systéme alebo môže byť vložený do programov v iných programovacích jazykoch. Programy sú ľahké kontajnery, ktoré spúšťajú pseudokód WebAssembly.

Tieto kontajnery nie sú viazané na operačný systém a môžu obsahovať kód pôvodne napísaný v akomkoľvek programovacom jazyku.

Ak chcete preložiť WebAssembly do strojového kódu aktuálnej platformy, musíte podporuje prepojenie rôznych backendov zostavovania (Singlepass, Cranelift, LLVM) a motory (pomocou JIT alebo generovania strojového kódu). Riadenie prístupu a interakciu so systémom zabezpečuje WASI (WebAssembly System Interface) API, ktoré poskytuje programovacie rozhrania pre prácu so súbormi, soketmi a ďalšími funkciami poskytovanými operačným systémom.

Platforma vám umožňuje dosiahnuť výkon vykonávania aplikácií podobný výkonu natívnych zostavení.

Hlavné novinky Wasmer 3.0

V tejto novej verzii Wasmer 3.0 je schopnosť vytvárať natívne spustiteľné súbory pre akúkoľvek platformu. príkaz "wasmer create-exe» bol úplne prepracovaný tak, aby konvertoval prechodný súbor kódu WebAssembly na samostatné spustiteľné súbory pre platformy Linux, Windows a macOS, ktoré možno spustiť bez inštalácie Wasmer.

Ďalšou prezentovanou novinkou je, že schopnosť spúšťať balíčky WAPM nachádza v adresári wapm.io pomocou príkazu „wasmer run“. Napríklad vykonajte "wasmer spustiť python/python» stiahne balík python z úložiska wapm.io a spustí ho.

Rozhranie Wasmer Rust API bolo úplne prepracované, ktorá mení spôsob, akým narába s pamäťou a poskytuje možnosť bezpečne ukladať objekty Wasm v štruktúre Store.

V tejto novej verzii Wasmer 3.0 je tiež zdôraznené vylepšená implementácia WASI API (WebAssembly System Interface), okrem opravy problémov vo WASI API pre prácu so súborovým systémom. Interné typy boli prepracované pomocou WAI (WebAssembly Interfaces), čo v budúcnosti umožní implementovať sériu nových funkcií.

Okrem toho sa zjednodušili aj motory, keďže namiesto samostatných motorov pre JIT sa využíva dynamické a statické viazanie (Universal, Dylib, StaticLib), teraz ponúka spoločný motor a načítava a ukladá kód ktorý sa ovláda na úrovni nastavenia parametrov.

Na deserializáciu artefaktov sa používa rámec rkyv, ktorý poskytuje operáciu nulového kopírovania, t.j. nevyžaduje žiadne ďalšie prideľovanie pamäte a vykonáva deserializáciu iba s použitím pôvodne poskytnutej vyrovnávacej pamäte.

Z ďalšie zmeny ktoré vyčnievajú z tejto novej verzie:

  • Používanie rkyv výrazne zvýšilo rýchlosť spustenia.
  • Kompilátor Singlepass bol vylepšený tak, aby podporoval funkcie s viacerými hodnotami, zvýšil spoľahlivosť a pridal podporu pre rámce spracovania výnimiek.
  • Sada komponentov wasmer-js bol implementovaný na spustenie Wasmer vo webovom prehliadači a interakciu s ním z JavaScriptu pomocou knižnice wasm-bindgen.
  • Bola navrhnutá nová štruktúra. MemoryView ktorý umožňuje čítanie a zápis dát v lineárnej pamäťovej oblasti.

Na záver treba spomenúť, že programy sú distribuované vo forme obyčajných modulov WebAssembly, ktoré je možné spravovať pomocou správcu balíkov WAPM. Wasmer je k dispozícii aj ako knižnica, ktorú možno použiť na vloženie kódu WebAssembly do programov Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir a Java.

Kód projektu je napísaný v jazyku Rust a je distribuovaný pod licenciou MIT a môžete sa o ňom dozvedieť viac, Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.