Wasmer, nabor orodij za aplikacije WebAssembly

Po dveh letih razvoja napovedana je bila izdaja prve različice pomemben projekt Wasmer, ki razvija čas izvajanja modulov WebAssembly.

Območja uporabe Wasmerja vključujejo ustvarjanje univerzalnih aplikacij ki se lahko izvede na različnih operacijskih sistemih, kot tudi organizacija izoliranega izvajanja nezanesljive kode. Podprta je vključitev zgradbe strežniških aplikacij, na primer predstavljena je bila izdaja strežnika Nginx, sestavljenega na WebAssembly.

O Wasmerju

Prenosljivost to dosežemo z zbiranjem kode aplikacije v vmesni programski opremi Nizka stopnja WebAssembly, ki se lahko izvaja v katerem koli operacijskem sistemu ali pa je integrirana v programe v drugih programskih jezikih.

Programi so lahki vsebniki, ki poganjajo psevdokodo WebAssembly. Ti vsebniki niso vezani na operacijski sistem in lahko vsebujejo aplikacije, prvotno napisane v katerem koli programskem jeziku.

Priročnik Emscripten lahko uporabite za prevajanje v WebAssemblyPoleg prevajanja WebAssembly v strojno kodo trenutne platforme je povezanih več okvirov, na primer LLVM in generator kode Cranelift.

Po drugi strani nadzor dostopa in interakcija s sistemom zagotavljata API WASI (WebAssembly System Interface), ki ponuja programske vmesnike za delo z datotekami, vtičnicami in drugimi funkcijami, ki jih zagotavlja operacijski sistem.

Poleg tega aplikacije so ločene od gostiteljskega sistema v okolju s peskovnikom in imajo dostop samo do deklarirane funkcionalnosti (varnostni mehanizem, ki temelji na zmožnostih upravljanja; za dejanja z vsakim od virov (datoteke, imeniki, vtičnice, sistemski klici itd.) mora aplikacija dobiti ustrezna pooblastila).

Programi se distribuirajo v obliki običajnih modulov WebAssembly, ki jih je mogoče upravljati prek upravitelja paketov WAPM.

Tudi Wasmer je na voljo kot knjižnica, ki jo lahko uporabljate v različnih jezikih programiranje. Podprta je vdelava kode WebAssembly v programe Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir in Java.

Kot za Funkcije Wasmer različice 1.0 izstopajo:

  • Visoka zmogljivost zagnanih aplikacij, blizu izvajanja izvornih sklopov in visoka hitrost prevajanja.
  • Razširljiva arhitektura z zmožnostjo povezovanja različnih zaviralnih komponent (Singlepass, Cranelift, LLVM) in motorjev (z uporabo JIT ali generiranje strojne kode).
    Native Object Engine, ki omogoča generiranje strojne kode za dani sistem za modul WebAssembly ("wasmer-native compilation" za ustvarjanje vnaprej prevedenih datotek objektov .so, .dylib in .dll).
  • Vnaprej prevedena koda zahteva minimalen čas izvajanja, vendar so vse izolacijske zmogljivosti peskovnika ohranjene.
  • Brezglavi način za dostavo vnaprej pripravljenih programov z vgrajenim Wasmerjem.
    Podpora za navzkrižno prevajanje, na primer za ustvarjanje strojne kode za arhitekturo Aarch64 v sistemu x86_64.
  • Preprost API za ustvarjanje vtičnikov in vtičnikov, ne da bi se morali učiti naprednih konceptov WebAssembly.
  • Podpora za WASM-C-API.
  • Orodja za odpravljanje napak in obdelavo napak.

Končno Če vas zanima več o Wasmerju, bi morali vedeti, da eKoda projekta je napisana v Rustu, je la Licenco MIT, podrobnosti pa lahko preverite na njeni uradni spletni strani naslednja povezava.

Namestite izvedbo Wasmerja

Po drugi strani pa morate za tiste, ki jih zanima zagon vsebnika WebAssembly, v vaš sistem namestiti samo izvajalno okolje Wasmer, ki je na voljo brez zunanjih odvisnosti.

Pomembno je omeniti to Wasmer lahko poganjate na kateri koli platformi macOS, Linux in Windows, edina zahteva je, da je njegovo izvajalno okolje nameščeno v vašem sistemu.

Če želite to narediti, v terminalu zaženite naslednji ukaz:

curl https://get.wasmer.io -sSfL | sh

Po tem pa morajo zagnati zahtevano datoteko:

Wasmer test.wasm

Če želite vedeti več o tem, kako deluje Wasmer, ali če želite vedeti njegovo izvorno kodo, se lahko posvetujete z vsem tem V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.