Wasmer, en uppsättning verktyg för WebAssembly-applikationer

Efter två års utveckling lanseringen av den första versionen tillkännagavs betydande projekt Wasmer, som utvecklar en körtid för att köra WebAssembly-moduler.

Användningsområden för tvättmaskiner inkludera skapandet av universella applikationer som kan köras på olika operativsystem, såväl som organisationen av det isolerade utförandet av opålitlig kod. Inkluderingen av serverapplikationsbyggnad stöds, till exempel demonstrerades släppningen av en Nginx-server som sammanställts på WebAssembly.

Om Wasmer

Bärbarhet det uppnås genom att kompilera applikationskoden i middleware WebAssemble på låg nivå som kan köras på vilket operativsystem som helst eller integreras i program på andra programmeringsspråk.

Programmen de är lätta containrar som kör pseudokoden WebAssembly. Dessa behållare är inte knutna till operativsystemet och kan innehålla applikationer som ursprungligen skrivits på vilket programmeringsspråk som helst.

Verktygssatsen Emscripten kan användas för att kompilera i WebAssemblyFörutom att översätta WebAssembly till aktuell plattformsmaskinkod är flera ramar anslutna, till exempel LLVM och Cranelift-kodgeneratorn.

Å andra sidan tillhandahålls åtkomstkontroll och interaktion med systemet via WASI (WebAssembly System Interface) API, som tillhandahåller programmeringsgränssnitt för att arbeta med filer, uttag och andra funktioner som tillhandahålls av operativsystemet.

Förutom det applikationer är isolerade från värdsystemet i en sandlåda miljö och de har endast tillgång till deklarerad funktionalitet (säkerhetsmekanism baserad på hanteringsfunktioner; för åtgärder med var och en av resurserna (filer, kataloger, uttag, systemanrop etc.) måste applikationen få motsvarande befogenheter).

Programmen distribueras i form av vanliga WebAssembly-moduler, som kan hanteras med WAPM-pakethanteraren.

Wasmer också finns i form av ett bibliotek som kan användas på olika språk programmering. Inbäddning av WebAssemble-kod i Rust-, C / C ++-, C #, D-, Python-, JavaScript-, Go-, PHP-, Ruby-, Elixir- och Java-program stöds.

Eftersom funktioner i Wasmer version 1.0 följande sticker ut:

  • Hög prestanda för körande applikationer, nära körning av inbyggda enheter och hög sammanställningshastighet.
  • Utbyggbar arkitektur med möjlighet att ansluta olika byggbackend (Singlepass, Cranelift, LLVM) och motorer (med JIT eller generera maskinkod).
    Native Object Engine, som gör det möjligt att generera maskinkod för ett visst system för en WebAssembly-modul ("wasmer-native compilation" för att generera förkompilerade .so-, .dylib- och .dll-objektfiler).
  • Förkompilerad kod kräver minimal körtid, men alla sandlådans isoleringsfunktioner bevaras.
  • Headless-läge för att leverera förkompilerade program med inbyggd Wasmer.
    Stöd för tvärkompilering, till exempel för att generera maskinkod för Aarch64-arkitekturen på ett x86_64-system.
  • Ett enkelt API för att skapa plugins och plugins utan att behöva lära sig avancerade WebAssembly-koncept.
  • Stöd för WASM-C-API.
  • Verktyg för felsökning och felhantering.

Slutligen Om du är intresserad av att lära dig mer om Wasmer, du borde veta att eProjektkoden är skriven i Rust la MIT-licens och du kan kontrollera dess detaljer på dess officiella webbplats på följande länk.

Installera Wasmer-körningen

Å andra sidan, för dem som är intresserade av att kunna köra WebAssembly-behållaren behöver du bara installera Wasmer-körtiden på ditt system, som kommer utan externa beroenden.

Det är viktigt att nämna det Wasmer kan köras på vilken plattform som helst macOS, Linux och Windows, det enda kravet är att dess körtid installeras på ditt system.

För att göra detta, kör bara följande kommando i en terminal:

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

Och efter det måste de köra den nödvändiga filen:

tvättmaskinstest. mask

Om du behöver veta mer om hur Wasmer fungerar eller vill veta dess källkod kan du konsultera allt detta I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.