Wasmer, skup alata za aplikacije WebAssembly

Nakon dvije godine razvoja najavljeno je izdanje prve verzije značajan projekt Wasmer, koji razvija vrijeme izvođenja za pokretanje modula WebAssembly.

Područja korištenja Wasmer-a uključuju stvaranje univerzalnih aplikacija koja se može izvršiti na različitim operativnim sustavima, kao i organizacija izoliranog izvršavanja nepouzdanog koda. Podržano je uključivanje izgradnje aplikacijskih poslužitelja, na primjer, demonstrirano je izdanje Nginx poslužitelja kompajliranog na WebAssembly.

O Wasmeru

Prijenosnost to se postiže sastavljanjem aplikacijskog koda u međuprogramu WebAssembly na niskoj razini koji se može izvoditi na bilo kojem operativnom sustavu ili biti integriran u programe na drugim programskim jezicima.

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

Priručnik Emscripten se može koristiti za kompajliranje u WebAssemblyOsim prevođenja WebAssemblya u trenutni strojni kod platforme, povezano je i nekoliko okvira, poput LLVM-a i generatora koda Cranelift.

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

osim toga aplikacije su izolirane od domaćinskog sustava u okruženju pješčanika 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će ovlasti).

Programi se distribuiraju u obliku redovnih modula WebAssembly, kojima se može upravljati putem upravitelja paketa WAPM.

Wasmer također dostupan je kao knjižnica 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.

Kao značajke Wasmera verzije 1.0 ističu 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 strojnog koda).
    Native Object Engine, koji omogućuje generiranje strojnog koda za zadani sustav za WebAssembly modul ("wasmer-native compilation" za generiranje prekompajliranih datoteka .so, .dylib i .dll).
  • Prethodno kompilirani kôd zahtijeva minimalno vrijeme izvođenja, ali sve su izolirane mogućnosti izoliranog okruženja sačuvane.
  • Način bez glave za isporuku prethodno sastavljenih programa s ugrađenim Wasmerom.
    Podrška za unakrsnu kompilaciju, na primjer, za generiranje strojnog koda za arhitekturu Aarch64 na sustavu x86_64.
  • Jednostavan API za stvaranje dodataka i dodataka bez potrebe za učenjem naprednih koncepata WebAssembly.
  • Podrška za WASM-C-API.
  • Alati za uklanjanje pogrešaka i rješavanje pogrešaka.

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

Instalirajte Wasmer runtime

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

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

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

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

A nakon toga moraju izvršiti potrebnu datoteku:

wasmer test.vazam

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


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.