Wasmer, zestaw narzędzi do aplikacji WebAssembly

Po dwóch latach rozwoju ogłoszono wydanie pierwszej wersji znaczący projekt Wasmer, który opracowuje środowisko wykonawcze do uruchamiania modułów WebAssembly.

Obszary użytkowania pralki obejmują tworzenie uniwersalnych aplikacji które można wykonać na różnych systemach operacyjnych, a także organizację izolowanego wykonania niewiarygodnego kodu. Obsługiwane jest włączenie budowania aplikacji serwerowej, na przykład zademonstrowano wydanie serwera Nginx skompilowanego na WebAssembly.

O Wasmer

Ruchliwość osiąga się to poprzez kompilację kodu aplikacji w oprogramowaniu pośrednim Niskopoziomowy WebAssembly, który może działać w dowolnym systemie operacyjnym lub być zintegrowany z programami w innych językach programowania.

Programy są to lekkie kontenery, które uruchamiają pseudokod WebAssembly. Kontenery te nie są powiązane z systemem operacyjnym i mogą zawierać aplikacje pierwotnie napisane w dowolnym języku programowania.

Zestaw narzędzi Emscripten może służyć do kompilacji do WebAssemblyOprócz tłumaczenia WebAssembly na kod maszynowy bieżącej platformy, połączonych jest kilka frameworków, takich jak LLVM i generator kodu Cranelift.

Z drugiej strony kontrolę dostępu i interakcję z systemem zapewnia API WASI (WebAssembly System Interface), które zapewnia interfejsy programistyczne do pracy z plikami, gniazdami i innymi funkcjami udostępnianymi przez system operacyjny.

poza tym aplikacje są izolowane od systemu hosta w środowisku piaskownicy i mają dostęp tylko do zadeklarowanej funkcjonalności (mechanizm bezpieczeństwa oparty na możliwościach zarządzania; dla akcji z każdym z zasobów (pliki, katalogi, gniazda, wywołania systemowe itp.) aplikacja musi otrzymać odpowiednie uprawnienia).

Programy są dystrybuowane w postaci zwykłych modułów WebAssembly, którymi można zarządzać poprzez menedżera pakietów WAPM.

Wasmer też jest dostępna jako biblioteka, z której można korzystać w różnych językach programowanie. Obsługiwane jest osadzanie kodu WebAssembly w programach Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir i Java.

W Funkcje Wasmer w wersji 1.0 wyróżniają się następujące:

  • Wysoka wydajność uruchomionych aplikacji, zbliżona do wykonywania natywnych zestawów i duża prędkość kompilacji.
  • Rozszerzalna architektura z możliwością łączenia różnych backendów kompilacji (Singlepass, Cranelift, LLVM) i silników (przy użyciu JIT lub generowania kodu maszynowego).
    Native Object Engine, który umożliwia generowanie kodu maszynowego dla danego systemu dla modułu WebAssembly („kompilacja natywna wasmer” do generowania prekompilowanych plików obiektowych .so, .dylib i .dll).
  • Wstępnie skompilowany kod wymaga minimalnego czasu wykonania do uruchomienia, ale wszystkie możliwości izolacji piaskownicy są zachowane.
  • Tryb bezgłowy do dostarczania wstępnie skompilowanych programów z wbudowaną funkcją Wasmer.
    Na przykład obsługa kompilacji krzyżowej w celu wygenerowania kodu maszynowego dla architektury Aarch64 w systemie x86_64.
  • Prosty interfejs API do tworzenia wtyczek i wtyczek bez konieczności uczenia się zaawansowanych koncepcji WebAssembly.
  • Wsparcie dla WASM-C-API.
  • Narzędzia do debugowania i obsługi błędów.

W końcu Jeśli chcesz dowiedzieć się więcej o Wasmer, powinieneś wiedzieć, że eKod projektu jest napisany w Rust, ma la Licencja MIT i możesz sprawdzić jej szczegóły na jej oficjalnej stronie internetowej pod adresem następujący link.

Zainstaluj środowisko wykonawcze Wasmer

Z drugiej strony, dla tych, którzy są zainteresowani możliwością uruchomienia kontenera WebAssembly, wystarczy zainstalować w systemie środowisko uruchomieniowe Wasmer, które jest dostarczane bez zewnętrznych zależności.

Należy o tym wspomnieć Wasmer można uruchomić na dowolnej platformie macOS, Linux i Windows, jedynym wymaganiem jest, aby jego środowisko wykonawcze było zainstalowane w systemie.

Aby to zrobić, po prostu uruchom następujące polecenie w terminalu:

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

Następnie muszą wykonać wymagany plik:

test Wasmera.wasm

Jeśli chcesz dowiedzieć się więcej o działaniu Wasmer lub chcesz poznać jego kod źródłowy, możesz skonsultować się z tym wszystkim W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.