Wasmer, rīku komplekts WebAssembly lietojumprogrammām

Pēc divu gadu attīstības tika paziņots par pirmās versijas izlaišanu nozīmīgs projekts Wasmer, kas izstrādā izpildlaiku WebAssembly moduļu darbināšanai.

Mazgātāju lietošanas zonas ietver universālu lietojumu izveidi ko var izpildīt dažādās operētājsistēmās, kā arī neuzticama koda izolētas izpildes organizēšana. Tiek atbalstīta servera lietojumprogrammu veidošanas iekļaušana, piemēram, tika parādīta WebAssembly apkopotā Nginx servera izlaišana.

Par Wasmeru

Pārnesamība to panāk, apkopojot lietojumprogrammas kodu starpprogrammatūrā Zema līmeņa WebAssemble, kuru var darbināt jebkurā operētājsistēmā vai integrēt programmās citās programmēšanas valodās.

Programmas tie ir viegli konteineri, kuros darbojas WebAssembly pseidokods. Šie konteineri nav saistīti ar operētājsistēmu, un tajos var būt lietojumprogrammas, kas sākotnēji rakstītas jebkurā programmēšanas valodā.

Rīkkopa Emscripten var izmantot, lai apkopotu WebAssemblyPapildus WebAssemble tulkošanai pašreizējās platformas mašīnkodā ir pievienoti vairāki ietvari, piemēram, LLVM un Cranelift kodu ģenerators.

No otras puses, piekļuves kontrole un mijiedarbība ar sistēmu tiek nodrošināta, izmantojot WASI (WebAssembly System Interface) API, kas nodrošina programmēšanas saskarnes darbam ar failiem, ligzdām un citām operētājsistēmas nodrošinātām funkcijām.

Bez tam lietojumprogrammas ir izolētas no resursdatora sistēmas smilšu kastes vidē un viņiem ir piekļuve tikai deklarētajai funkcionalitātei (drošības mehānisms, kas balstīts uz pārvaldības iespējām; darbībām ar katru no resursiem (faili, direktoriji, kontaktligzdas, sistēmas zvani utt.) lietojumprogrammai jāsaņem atbilstošās pilnvaras).

Programmas tiek izplatītas parasto WebAssembly moduļu veidā, kurus var pārvaldīt, izmantojot WAPM pakotņu pārvaldnieku.

Wasmer arī ir pieejama kā bibliotēka, kuru var izmantot dažādās valodās programmēšana. Tiek atbalstīta WebAssemble koda iegulšana Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir un Java programmās.

Wasmer versijas 1.0 funkcijas izceļas:

  • Augsta darbības rādītās lietojumprogrammas, tuvu vietējo mezglu izpildei un liels kompilēšanas ātrums.
  • Paplašināma arhitektūra ar iespēju savienot dažādas kompilācijas aizmugures (Singlepass, Cranelift, LLVM) un dzinējus (izmantojot JIT vai ģenerējot mašīnkodu).
    Native Object Engine, kas ļauj ģenerēt mašīnkodu konkrētai sistēmai WebAssembly modulim ("wasmer-native compilation", lai ģenerētu iepriekš sastādītus .so, .dylib un .dll objektu failus).
  • Iepriekš sastādītajam kodam ir nepieciešams minimāls izpildes laiks, taču tiek saglabātas visas smilškastes izolācijas iespējas.
  • Bezroku režīms, lai sniegtu iepriekš kompilētas programmas ar iebūvētu Wasmer.
    Starpkompilācijas atbalsts, piemēram, lai ģenerētu mašīnkodu Aarch64 arhitektūrai sistēmā x86_64.
  • Vienkārša API spraudņu un spraudņu izveidei bez nepieciešamības apgūt uzlabotas WebAssembly koncepcijas.
  • Atbalsts WASM-C-API.
  • Rīki atkļūdošanai un kļūdu apstrādei.

Beidzot Ja jūs interesē uzzināt vairāk par Wasmer, jums vajadzētu zināt, ka eProjekta kods ir rakstīts Rust, tas ir la MIT licenci, un tās informāciju varat pārbaudīt tās oficiālajā tīmekļa vietnē šī saite.

Instalējiet Wasmer izpildlaiku

No otras puses, tiem, kas ir ieinteresēti palaist WebAssembly konteineru, jūsu sistēmā ir jāinstalē tikai Wasmer izpildlaiks, kas nāk bez ārējām atkarībām.

Ir svarīgi to pieminēt Wasmer var darbināt uz jebkuras platformas MacOS, Linux un Windows, vienīgā prasība ir tā izpildlaika instalēšana jūsu sistēmā.

Lai to izdarītu, vienkārši palaidiet šādu komandu terminālā:

čokurošanās https://get.wasmer.io -sSfL | sh

Un pēc tam viņiem ir jāizpilda nepieciešamais fails:

mazgātāja pārbaude

Ja jums jāzina vairāk par Wasmer darbību vai vēlaties uzzināt tā pirmkodu, varat to visu uzzināt Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.