„Wasmer“ - įrankių rinkinys, skirtas „WebAssembly“ programoms

Po dvejų metų plėtros buvo paskelbta pirmosios versijos išleidimas reikšmingas projektas „Wasmer“, kuri sukuria vykdymo laiką „WebAssembly“ moduliams paleisti.

Plovyklos naudojimo zonos apimti universalių programų kūrimą kad galima įvykdyti skirtingose ​​operacinėse sistemose, taip pat izoliuoto nepatikimo kodo vykdymo organizavimas. Palaikomas serverio programų kūrimo įtraukimas, pavyzdžiui, buvo parodytas „Nginx“ serverio, sukompiliuoto „WebAssembly“, išleidimas.

Apie Wasmerį

Perkeliamumas tai pasiekiama kompiliuojant programos kodą tarpinėje programinėje įrangoje Žemo lygio „WebAssemble“, kuris gali veikti bet kurioje operacinėje sistemoje arba būti integruotas į programas kitomis programavimo kalbomis.

Programos tai yra lengvi konteineriai, kuriuose veikia „WebAssembly“ pseudokodas. Šie konteineriai nėra susieti su operacine sistema ir juose gali būti programų, iš pradžių parašytų bet kuria programavimo kalba.

Įrankių rinkinys „Emscripten“ galima naudoti kompiliavimui į „WebAssembly“Be „WebAssembly“ vertimo į dabartinį platformos mašinos kodą, yra sujungtos kelios sistemos, tokios kaip LLVM ir „Cranelift“ kodų generatorius.

Kita vertus, prieigos kontrolė ir sąveika su sistema teikiama per WASI („WebAssembly System Interface“) API, kuri suteikia programavimo sąsajas darbui su failais, lizdais ir kitomis operacinės sistemos teikiamomis funkcijomis.

neskaitant to programos yra izoliuotos nuo pagrindinės sistemos smėlio dėžės aplinkoje ir jie turi prieigą tik prie deklaruojamo funkcionalumo (saugumo mechanizmas, pagrįstas valdymo galimybėmis; norint atlikti veiksmus su kiekvienu iš išteklių (failai, katalogai, lizdai, sistemos skambučiai ir kt.), programa turi gauti atitinkamus įgaliojimus).

Programos platinamos įprastų „WebAssembly“ modulių pavidalu, kuriuos galima valdyti per WAPM paketų tvarkyklę.

Wasmer taip pat yra kaip biblioteka, kurią galima naudoti su įvairiomis kalbomis programavimas. Palaikomas „WebAssembly“ kodo įdėjimas į „Rust“, C / C ++, C #, D, Python, „JavaScript“, „Go“, PHP, „Ruby“, „Elixir“ ir „Java“ programas.

Apie „Wasmer“ versijos 1.0 funkcijos išsiskiria:

  • Didelis veikiančių programų našumas, artimas vietinių mazgų vykdymui ir didelis kompiliavimo greitis.
  • Išplėstinė architektūra su galimybe sujungti įvairias kompiliavimo vidines programas („Singlepass“, „Cranelift“, LLVM) ir variklius (naudojant JIT arba generuojant mašinos kodą).
    „Native Object Engine“, leidžiantis generuoti „WebAssembly“ modulio tam tikros sistemos mašininį kodą („kompaktinis kompiuterio rinkimas“, kad būtų galima sukurti iš anksto sukompiliuotus .so, .dylib ir .dll objektų failus).
  • Iš anksto sukompiliuotam kodui paleisti reikia minimalaus vykdymo laiko, tačiau visos smėlio dėžės izoliavimo galimybės yra išsaugotos.
  • Begalvis režimas, skirtas pristatyti iš anksto sukompiliuotas programas su įmontuotu „Wasmer“.
    Kryžminis kompiliavimas palaiko, pavyzdžiui, A64 architektūros mašininį kodą x86_64 sistemoje.
  • Paprasta API, skirta kurti papildinius ir papildinius, nereikia mokytis pažangių „WebAssembly“ koncepcijų.
  • WASM-C-API palaikymas.
  • Derinimo ir klaidų valdymo įrankiai.

Pagaliau Jei jus domina sužinoti daugiau apie Wasmer, turėtumėte žinoti, kad elProjekto kodas parašytas „Rust“, jis turi la MIT licenciją ir jos informaciją galite patikrinti jos oficialioje svetainėje sekanti nuoroda.

Įdiekite „Wasmer“ vykdymo laiką

Kita vertus, tiems, kurie domisi galimybe paleisti „WebAssembly“ konteinerį, į savo sistemą reikia įdiegti tik „Wasmer“ vykdymo laiką, kuris yra be išorinių priklausomybių.

Svarbu tai paminėti „Wasmer“ galima paleisti bet kurioje platformoje „MacOS“, „Linux“ ir „Windows“, vienintelis reikalavimas yra, kad jo vykdymo laikas būtų įdiegtas jūsų sistemoje.

Norėdami tai padaryti, tiesiog paleiskite šią komandą terminale:

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

Po to jie turi įvykdyti reikiamą failą:

plonesnis testas.vasmas

Jei norite sužinoti daugiau apie „Wasmer“ veikimą arba norite sužinoti jo šaltinio kodą, galite pasikonsultuoti su viskuo Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.