Wasmer, un set de instrumente pentru aplicațiile WebAssembly

După doi ani de dezvoltare a fost anunțată lansarea primei versiuni proiect semnificativ Wasmer, care dezvoltă un runtime pentru a rula module WebAssembly.

Wasmer folosește zone includ crearea de aplicații universale care poate fi executat pe diferite sisteme de operare, precum și organizarea executării izolate a codului nesigur. Este acceptată includerea construcției de aplicații de server, de exemplu a fost demonstrată o construire a serverului Nginx pe WebAssembly.

Despre Wasmer

Portabilitate se realizează prin compilarea codului aplicației în middleware WebAssembly de nivel scăzut care poate rula pe orice sistem de operare sau poate fi integrat în programe în alte limbaje de programare.

Programele sunt containere ușoare care rulează pseudocodul WebAssembly. Aceste containere nu sunt legate de sistemul de operare și pot conține aplicații scrise inițial în orice limbaj de programare.

Setul de instrumente Emscripten poate fi folosit pentru a compila în WebAssemblyÎn plus față de traducerea WebAssembly la codul mașinii de pe platforma actuală, sunt conectate mai multe cadre, cum ar fi LLVM și generatorul de cod Cranelift.

Pe de altă parte, controlul accesului și interacțiunea cu sistemul sunt furnizate prin intermediul API-ului WASI (WebAssembly System Interface), care oferă interfețe de programare pentru lucrul cu fișiere, socluri și alte funcții furnizate de sistemul de operare.

Pe lângă asta aplicațiile sunt izolate de sistemul gazdă într-un mediu sandbox și au acces doar la funcționalitatea declarată (mecanism de securitate bazat pe capacitățile de gestionare; pentru acțiuni cu fiecare dintre resurse (fișiere, directoare, socketuri, apeluri de sistem etc.), aplicația trebuie să primească puterile corespunzătoare).

Programele sunt distribuite sub formă de module WebAssembly obișnuite, care pot fi gestionate prin managerul de pachete WAPM.

Și Wasmer este disponibil ca bibliotecă care poate fi utilizată în diferite limbi programare. Este acceptată încorporarea codului WebAssembly în programele Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir și Java.

În ceea ce privește Caracteristicile versiunii 1.0 Wasmer se remarcă următoarele:

  • Performanță ridicată a aplicațiilor care rulează, aproape de execuția ansamblurilor native și viteză mare de compilare.
  • Arhitectură extensibilă cu capacitatea de a conecta diferite backend-uri de compilație (Singlepass, Cranelift, LLVM) și motoare (folosind JIT sau generând codul mașinii).
    Native Object Engine, care permite generarea codului mașinii pentru un sistem dat pentru un modul WebAssembly („compilare nativă wasmer” pentru a genera fișiere obiect precompilate .so, .dylib și .dll).
  • Codul precompilat necesită un timp minim de execuție pentru a rula, dar toate capacitățile de izolare a sandbox-ului sunt păstrate.
  • Mod fără cap pentru a livra programe precompilate cu Wasmer încorporat.
    Compatibilitate încrucișată, de exemplu, pentru a genera codul mașinii pentru arhitectura Aarch64 pe un sistem x86_64.
  • Un API simplu pentru crearea de pluginuri și pluginuri fără a fi nevoie să învățați concepte avansate de WebAssembly.
  • Suport pentru WASM-C-API.
  • Instrumente pentru depanare și tratarea erorilor.

În cele din urmă Dacă sunteți interesat să aflați mai multe despre Wasmer, ar trebui să știți că eCodul proiectului este scris în Rust, are la Licență MIT și îi puteți verifica detaliile pe site-ul său oficial la următorul link.

Instalați timpul de execuție Wasmer

Pe de altă parte, pentru cei care sunt interesați să poată rula containerul WebAssembly, trebuie doar să instalați runtime-ul Wasmer pe sistemul dvs., care vine fără dependențe externe.

Este important să menționăm că Wasmer poate fi rulat pe orice platformă macOS, Linux și Windows, singura cerință este ca runtime-ul său să fie instalat pe sistemul dvs.

Pentru a face acest lucru, rulați următoarea comandă într-un terminal:

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

Și după aceea, trebuie să execute fișierul necesar:

testul wasmer.vasmă

Dacă trebuie să aflați mai multe despre cum funcționează Wasmer sau doriți să aflați codul sursă al acestuia, puteți consulta toate acestea În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.