Wasmer, een set tools voor WebAssembly-toepassingen

Na twee jaar ontwikkeling de release van de eerste versie werd aangekondigd belangrijk project Wasmer, dat een runtime ontwikkelt om WebAssembly-modules uit te voeren.

Wasmer gebruiksgebieden omvatten het creëren van universele toepassingen dat kan worden uitgevoerd op verschillende besturingssystemen, evenals de organisatie van de geïsoleerde uitvoering van onbetrouwbare code. De opname van het bouwen van servertoepassingen wordt ondersteund, zo werd bijvoorbeeld de release van een Nginx-server gecompileerd op WebAssembly gedemonstreerd.

Over Wasmer

Draagbaarheid het wordt bereikt door de applicatiecode in middleware te compileren WebAssembly op laag niveau die op elk besturingssysteem kan worden uitgevoerd of kan worden geïntegreerd in programma's in andere programmeertalen.

De programma's het zijn lichtgewicht containers die de WebAssembly pseudocode draaien. Deze containers zijn niet gebonden aan het besturingssysteem en kunnen applicaties bevatten die oorspronkelijk in elke programmeertaal zijn geschreven.

De Toolkit Emscripten kan worden gebruikt om te compileren in WebAssemblyNaast het vertalen van WebAssembly naar de machinecode van het huidige platform, zijn er meerdere frameworks aangesloten, zoals LLVM en de Cranelift codegenerator.

Aan de andere kant worden toegangscontrole en interactie met het systeem geleverd via de WASI (WebAssembly System Interface) API, die programmeerinterfaces biedt voor het werken met bestanden, sockets en andere functies die door het besturingssysteem worden geleverd.

Daarnaast applicaties zijn geïsoleerd van het hostsysteem in een sandbox-omgeving en ze hebben alleen toegang tot de aangegeven functionaliteit (beveiligingsmechanisme op basis van beheermogelijkheden; voor acties met elk van de bronnen (bestanden, mappen, sockets, systeemoproepen, enz.), moet de applicatie de overeenkomstige bevoegdheden krijgen).

De programma's worden gedistribueerd in de vorm van reguliere WebAssembly-modules, die kunnen worden beheerd via de WAPM-pakketbeheerder.

Wasmer ook is beschikbaar als bibliotheek die met verschillende talen kan worden gebruikt programmeren. Inbedding van WebAssembly-code in Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir en Java-programma's wordt ondersteund.

De Wasmer versie 1.0 functies de volgende vallen op:

  • Hoge prestaties van actieve applicaties, dicht bij de uitvoering van native assemblages en hoge compilatiesnelheid.
  • Uitbreidbare architectuur met de mogelijkheid om verschillende compilatie-backends (Singlepass, Cranelift, LLVM) en engines (met behulp van JIT of het genereren van machinecode) met elkaar te verbinden.
    Native Object Engine, waarmee machinecode voor een bepaald systeem voor een WebAssembly-module kan worden gegenereerd ("wasmer-native compilatie" om vooraf gecompileerde .so-, .dylib- en .dll-objectbestanden te genereren).
  • Voorgecompileerde code vereist minimale uitvoeringstijd om te worden uitgevoerd, maar alle mogelijkheden voor sandbox-isolatie blijven behouden.
  • Headless-modus om voorgecompileerde programma's met ingebouwde Wasmer te leveren.
    Ondersteuning voor cross-compilatie, bijvoorbeeld om machinecode te genereren voor de Aarch64-architectuur op een x86_64-systeem.
  • Een eenvoudige API voor het maken van plug-ins en plug-ins zonder dat u geavanceerde WebAssembly-concepten hoeft te leren.
  • Ondersteuning voor WASM-C-API.
  • Hulpmiddelen voor foutopsporing en foutafhandeling.

Eindelijk Als u meer wilt weten over Wasmer, je moet weten dat eDe projectcode is in Rust geschreven la MIT-licentie en u kunt de details ervan bekijken op de officiële website op het volgende link.

Installeer de Wasmer-runtime

Aan de andere kant, voor degenen die geïnteresseerd zijn in het kunnen draaien van de WebAssembly-container, hoeft u alleen de Wasmer-runtime op uw systeem te installeren, die zonder externe afhankelijkheden komt.

Het is belangrijk om dat te vermelden Wasmer kan op elk platform worden gebruikt macOS, Linux en Windows, de enige vereiste is dat de runtime op uw systeem is geïnstalleerd.

Om dit te doen, voert u gewoon de volgende opdracht uit in een terminal:

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

En daarna moeten ze het vereiste bestand uitvoeren:

wasmer test. wasm

Als u meer wilt weten over hoe Wasmer werkt of de broncode wilt weten, kunt u dat allemaal raadplegen In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.