Wasmer 5.0 on saadaval, tööriistakomplekt WebAssembly põhiste rakenduste loomiseks.

Esitlusega on välja antud projekt Wasmer 5.0, mis arendab WebAssembly moodulite käitamist võimaldava runtime'i, mida saab kasutada universaalsete rakenduste loomiseks, mis suudavad töötada erinevates operatsioonisüsteemides. Wasmerit saab kasutada ka usaldamatute koodiplokkide isoleeritud käitamiseks tavapäraste rakenduste osana. Projekti kood on kirjutatud Rust keeles ja levitatakse MIT litsentsi alusel.

Võimalust käivitada ühte rakendust erinevatel platvormidel rakendatakse WebAssembly madala taseme vahecode'iks kompileerimise kaudu, mis suudab töötada kõigis operatsioonisüsteemides või integreeruda teiste programmeerimiskeeltega rakendustesse. Programmid on kerged konteinerid, milles töötatakse WebAssembly pseudokoodiga. Need konteinerid ei ole seotud operatsioonisüsteemiga ja võivad sisaldada koodi, mis on algselt kirjutatud mistahes programmeerimiskeeles.

WebAssembly vahecode'i käitamiseks või selle tõlkimiseks sihtplatvormi masinkoodiks pakutakse erinevaid taustaprogramme:

  • Singlepass kompilaatoripõhine taust, mis on optimeeritud kasutamiseks plokiahelates.
  • Cranelift koodigeneraatoripõhine taust, mis on optimeeritud arendustegevuseks.
  • LLVM kompilaatoripõhine taust, mis on optimeeritud tööalaste implementatsioonide jaoks.
  • Web-brauseris töötav taust.
  • JavaScripti mootoril JavascriptCore põhinev taust, mis on optimeeritud macOS platvormil kasutamiseks.
  • JavaScripti mootoril V8 põhinev taust, mis on optimeeritud iOS ja Android platvormide rakendustele.
  • Wasmi tõlgendajal põhinev taust, mis on optimeeritud plokiahelate ja rust-projektide jaoks, mis ei kasuta standardteeki (nostd).
  • WAMR runtime'i põhine taust, mis on optimeeritud iOS platvormile.

Rakendused isoleeritakse peamasüsteemist sandbox-keskkonnas ning neil on ligipääs ainult deklareeritud funktsionaalsusele. Isoleerimiseks kasutatakse võimaluste haldamisel põhinevat mehhanismi — rakendusele tuleb anda vastavad õigused igasuguste ressursside (failid, kataloogid, soketid, süsteemikutsed jne) jaoks. Ligipääsu haldamine ja süsteemiga suhtlemine toimub WASI (WebAssembly System Interface) API abil, mis pakub programmiliideseid failide, sokettide ja muude süsteemifunktsioonide töötlemiseks.

Platvorm võimaldab saavutada rakenduste täitmise jõudlust, mis on lähedane kohandatud koostamise täitmisele. Native Object Engine'i abil WebAssembly mooduli jaoks on võimalik genereerida masinkoodi, mille käivitamiseks on vajalik minimaalne runtime, kuid säilitatakse kõik võimalused sandbox-isolatsiooniks. On võimalik esitada eelkompileeritud programme koos sisseehitatud Wasmeriga. Täienduste ja laienduste loomiseks pakutakse Rust API-d ja Wasm-C-API-d.

WebAssembly konteineri käivitamiseks piisab, kui installida süsteemi Wasmer runtime, mis tarnitakse ilma väliste sõltuvusteta („curl https://get.wasmer.io -sSfL | sh”) ja käivitada vajalik fail („wasmer test.wasm”). Programmid levivad tavapäraste WebAssembly moodulitena, mille haldamiseks saab kasutada WAPM paketihaldurit. Wasmer on samuti saadaval raamatukoguna, mida saab kasutada WebAssembly koodi integreerimiseks Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir ja Java keeltesse.

Wasmer 5.0 peamised uuendused:

  • WebAssembly interpreteuride kasutamise võimalus on rakendatud.
  • Lisatud on eksperimentaalne backend, mis põhineb kergel interpreteuril Wasmi, võimaldades täita WebAssembly vahemenetluskoode keskkondades, kus ressursid on piiratud.
  • Lisatud on eksperimentaalne backend, mis põhineb WebAssembly runtime'il WAMR (WebAssembly Micro Runtime), mis on optimeeritud minimaalsete ressursikasutuse jaoks ja sobib kasutamiseks seadmetes, kus on vähe operatiivmälu.
  • Lisatud katseversioon JavaScript V8 mootoril põhinevast taustast, mida kasutatakse Chromiumi koodibaasis brauserites. V8 alusel tausta kasutamise peamine eelis on sisseehitatud siluri ja veebiarenduse tööriistade kasutamine, samuti V8 põhifunktsionaalsus, nagu WebAssembly eriomadused, sealhulgas erandite töötlemine ja prügikogumine.
  • Tausta, mis kasutab LLVM, on lisatud katse tugi arhitektuurile Loongarch64.
  • Lisatud iOS platvormi tugi, mis on saadaval WAMR, Wasmi ja V8 taustade kasutamisel.
  • Emscripten kompilaatori tugi on lõpetatud.
  • Uuendatud sõltuvused, sealhulgas LLVM 18, koodi genereerija Cranelift 27 ning raamistik rkyv 0.8.
  • Täituvuse optimeerimine on läbi viidud. Näiteks jälgiti modulite deserialiseerimise operatsioonide käigus kuni 50% jõudluse kasvu.
    Wasmer 5.0 on saadaval, tööriistakomplekt WebAssembly põhiste rakenduste loomiseks.
    Wasmer 5.0 on saadaval, tööriistakomplekt WebAssembly põhiste rakenduste loomiseks.
    Wasmer 5.0 on saadaval, tööriistakomplekt WebAssembly põhiste rakenduste loomiseks.
    Wasmer 5.0 on saadaval, tööriistakomplekt WebAssembly põhiste rakenduste loomiseks.
    Wasmer 5.0 on saadaval, tööriistakomplekt WebAssembly põhiste rakenduste loomiseks.
    Wasmer 5.0 on saadaval, tööriistakomplekt WebAssembly põhiste rakenduste loomiseks.
    Wasmer 5.0 on saadaval, tööriistakomplekt WebAssembly põhiste rakenduste loomiseks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster