Wasmer 5.0 er tilgængelig, et værktøj til oprettelse af applikationer baseret på WebAssembly

Udgivelsen af Wasmer 5.0-projektet er blevet præsenteret, som udvikler et runtime til udførelse af WebAssembly-moduler, der kan bruges til at skabe universelle applikationer, som kan køre på forskellige operativsystemer. Wasmer kan også anvendes til isoleret kørsel af usikre kodeafsnit i almindelige applikationer. Projektets kode er skrevet i Rust og distribueres under MIT-licensen.

Muligheden for at køre én applikation på forskellige platforme realiseres gennem kompilering til lavniveau WebAssembly-intermediær kode, som kan køre på ethvert OS eller integreres i programmer skrevet på andre programmeringssprog. Programmerne er letvægtscontainere, hvori WebAssembly-pseudokode udføres. Disse containere er ikke bundet til operativsystemet og kan indeholde kode, der oprindeligt er skrevet på ethvert programmeringssprog.

For udførelse af WebAssembly-intermediær kode eller dens oversættelse til maskinkode for den måloprindelige platform tilbydes forskellige backend-løsninger:

  • Backend baseret på Singlepass-kompilereren, optimal til brug i blockchains.
  • Backend baseret på Cranelift-kodegeneratoren, optimal til brug i udviklingsprocessen.
  • Backend baseret på LLVM-kompilereren, optimal til brug i produktionsimplementeringer.
  • Backend til kørsel i webbrowseren.
  • Backend baseret på JavaScript-motoren JavascriptCore, optimal til brug på macOS-platformen.
  • Backend baseret på JavaScript-motoren V8, optimal til applikationer til iOS- og Android-platforme.
  • Backend baseret på Wasmi-fortolkeren, optimal til blockchains og Rust-projekter, der ikke bruger standardbiblioteket (nostd).
  • Backend baseret på WAMR-runtime, optimal til iOS-platformen.

Applikationer isoleres fra hovedsystemet i et sandbox-miljø og har kun adgang til den angivne funktionalitet. Isolationen anvender et kontrolsystem baseret på kapabiliteter — for hver ressource (filer, mapper, sockets, systemopkald osv.) skal applikationen have fået de tilsvarende beføjelser. Adgangskontrol og interaktion med systemet sikres via API WASI (WebAssembly System Interface), der tilbyder programmeringsgrænseflader til arbejde med filer, sockets og andre systemfunktioner.

Platformen muliggør applikationsydeevne, der er tæt på den indfødte kompilering. Ved hjælp af Native Object Engine til WebAssembly-modulet kan der genereres maskinkode, som kræver et minimalt runtime, men opretholder alle muligheder for sandbox-isolering. Der er mulighed for at levere forudkompilerede programmer med indbygget Wasmer. Til oprettelse af udvidelser og plugins tilbydes Rust API og Wasm-C-API.

For at kunne køre en WebAssembly-container er det tilstrækkeligt at installere Wasmer-runtime'en i systemet, som leveres uden eksterne afhængigheder ("curl https://get.wasmer.io -sSfL | sh") og køre den nødvendige fil ("wasmer test.wasm"). Programmer distribueres i form af almindelige WebAssembly-moduler, som kan styres ved hjælp af pakkehåndteringssystemet WAPM. Wasmer er også tilgængelig som et bibliotek, som kan bruges til at integrere WebAssembly-kode i programmer skrevet i Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir og Java.

Hovednyhederne i Wasmer 5.0:

  • Muligheden for at bruge WebAssembly-fortolkere er blevet implementeret.
  • En eksperimentel backend baseret på den letvægts Wasmi-fortolker er blevet tilføjet, som muliggør udførelse af WebAssembly-mellemcode i ressourcetrænede miljøer.
  • En eksperimentel backend baseret på WebAssembly-runtime WAMR (WebAssembly Micro Runtime), optimeret til minimal ressourceforbrug og velegnet til brug på enheder med lidt RAM, er blevet tilføjet.
  • En eksperimentel backend baseret på JavaScript-motoren v8, der anvendes i browsere baseret på Chromium-koden, er blevet tilføjet. Den primære fordel ved at bruge v8-backend er muligheden for at anvende den indbyggede debugger og værktøjer til webudviklere, samt tilgængeligheden af udvidet WebAssembly-funktionalitet i v8, såsom fejlhåndtering og affaldsindsamling.
  • Der er tilføjet eksperimentel understøttelse af Loongarch64-arkitekturen i backenden, der bruger LLVM.
  • Der er tilføjet understøttelse af iOS-platformen, tilgængelig ved brug af WAMR-, Wasmi- og v8-backends.
  • Understøttelse af Emscripten-kompilatoren er blevet ophørt.
  • Afhængighederne er opdateret, herunder LLVM 18, Cranelift 27 kode-generatoren, og rkyv 0.8 rammeværket.
  • Ydeevnen er blevet optimeret. For eksempel, ved udførelse af deserialisering af moduler observeres en forbedring på op til 50%.
    Wasmer 5.0 er tilgængelig, et værktøj til oprettelse af applikationer baseret på WebAssembly
    Wasmer 5.0 er tilgængelig, et værktøj til oprettelse af applikationer baseret på WebAssembly
    Wasmer 5.0 er tilgængelig, et værktøj til oprettelse af applikationer baseret på WebAssembly
    Wasmer 5.0 er tilgængelig, et værktøj til oprettelse af applikationer baseret på WebAssembly
    Wasmer 5.0 er tilgængelig, et værktøj til oprettelse af applikationer baseret på WebAssembly
    Wasmer 5.0 er tilgængelig, et værktøj til oprettelse af applikationer baseret på WebAssembly
    Wasmer 5.0 er tilgængelig, et værktøj til oprettelse af applikationer baseret på WebAssembly

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster