Wasmer, set alata za aplikacije WebAssembly

Nakon dvije godine razvoja najavljeno je izdanje prve verzije značajan projekat Wasmer, koji razvija runtime za pokretanje WebAssembly modula.

Područja upotrebe otpadnika uključuju stvaranje univerzalnih aplikacija koja se može izvršiti na različitim operativnim sistemima, kao i organizacija izolovanog izvršavanja nepouzdanog koda. Podržana je uključenost izgradnje serverskih aplikacija, na primjer, demonstrirana je izgradnja Nginx servera na WebAssembly.

O Wasmeru

Prenosivost to se postiže kompajliranjem aplikacijskog koda u međuprogramu WebAssembly niskog nivoa koji se može pokretati na bilo kojem operativnom sistemu ili biti integriran u programe na drugim programskim jezicima.

Programi oni su lagani spremnici koji pokreću pseudokod WebAssembly. Ovi spremnici nisu vezani za operativni sistem i mogu sadržavati aplikacije izvorno napisane na bilo kojem programskom jeziku.

Priručnik Emscripten se može koristiti za kompajliranje u WebAssemblyPored prevođenja WebAssembly-a na mašinski kod trenutne platforme, povezano je i nekoliko okvira, poput LLVM-a i Cranelift generatora koda.

S druge strane, kontrola pristupa i interakcija sa sistemom pružaju se putem API-ja WASI (WebAssembly System Interface), koji pruža programska sučelja za rad s datotekama, utičnicama i drugim funkcijama koje pruža operativni sistem.

pored toga aplikacije su izolirane od host sistema u okruženju sa zaštićenim okruženjem i imaju pristup samo deklariranoj funkcionalnosti (sigurnosni mehanizam zasnovan na mogućnostima upravljanja; za radnje sa svakim od resursa (datoteke, direktoriji, utičnice, sistemski pozivi itd.), aplikacija mora dobiti odgovarajuća ovlaštenja).

Programi se distribuiraju u obliku uobičajenih WebAssembly modula, kojima se može upravljati putem WAPM menadžera paketa.

Wasmer također je dostupan kao biblioteka koja se može koristiti na raznim jezicima programiranje. Podržano je ugrađivanje koda WebAssembly u programe Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir i Java.

Što se tiče Karakteristike Wasmer verzije 1.0 izdvajaju se:

  • Visoke performanse pokrenutih aplikacija, blizu izvršavanja nativnih sklopova i velika brzina kompilacije.
  • Proširiva arhitektura s mogućnošću povezivanja različitih pozadinskih datoteka za kompilaciju (Singlepass, Cranelift, LLVM) i motora (pomoću JIT-a ili generiranja mašinskog koda).
    Native Object Engine, koji omogućava generiranje mašinskog koda za zadati sistem za WebAssembly modul ("wasmer-native compilation" za generisanje prekompajliranih datoteka .so, .dylib i .dll).
  • Prekompajlirani kôd zahtijeva minimalno vrijeme izvođenja za pokretanje, ali sve izolirane mogućnosti izoliranog okruženja su sačuvane.
  • Način bez glave za isporuku prethodno sastavljenih programa s ugrađenim Wasmerom.
    Podrška za unakrsnu kompilaciju, na primjer, za generiranje mašinskog koda za Aarch64 arhitekturu na x86_64 sistemu.
  • Jednostavan API za stvaranje dodataka i dodataka bez potrebe za učenjem naprednih koncepata WebAssembly.
  • Podrška za WASM-C-API.
  • Alati za otklanjanje grešaka i rukovanje greškama.

Konačno Ako ste zainteresirani da saznate više o Wasmeru, trebali biste znati da eKôd projekta napisan je na Rustu la MIT licencu, a njene detalje možete provjeriti na službenoj web stranici sljedeći link.

Instalirajte Wasmer runtime

S druge strane, za one koji su zainteresirani za mogućnost pokretanja spremnika WebAssembly, na vaš sistem trebate instalirati samo Wasmer runtime, koji dolazi bez vanjskih ovisnosti.

Važno je to napomenuti Wasmerom se može upravljati na bilo kojoj platformi macOS, Linux i Windows, jedini zahtjev je da njegovo vrijeme izvođenja bude instalirano na vašem sistemu.

Da biste to učinili, samo pokrenite sljedeću naredbu u terminalu:

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

A nakon toga moraju izvršiti potrebnu datoteku:

Wasmer test.wasm

Ako trebate znati više o tome kako Wasmer radi ili želite znati njegov izvorni kod, možete se obratiti svemu tome Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.