{"id":105726,"date":"2022-11-27T09:36:51","date_gmt":"2022-11-27T07:36:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly"},"modified":"2022-11-27T09:36:51","modified_gmt":"2022-11-27T07:36:51","slug":"dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","title":{"rendered":"Wasmer 3.0 er nu tilg\u00e6ngelig, et v\u00e6rkt\u00f8jss\u00e6t til oprettelse af applikationer baseret p\u00e5 WebAssembly.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Den tredje betydelige udgivelse af Wasmer-projektet er blevet pr\u00e6senteret, som udvikler en runtime til k\u00f8rsel af WebAssembly-moduler, der kan bruges til at skabe universelle applikationer, der kan k\u00f8re p\u00e5 forskellige operativsystemer, samt til isoleret udf\u00f8relse af uautorisere kode. Projektets kode er skrevet i Rust og distribueres under MIT-licensen.      <\/p>\n<p>Muligheden for at k\u00f8re en applikation p\u00e5 forskellige platforme sikres gennem kompilering af koden til lavniveau WebAssembly-mellemkode, som kan k\u00f8res p\u00e5 alle operativsystemer eller indg\u00e5 i programmer skrevet i andre programmeringssprog. Programmerne er letv\u00e6gtige containere, hvori der k\u00f8rer WebAssembly-pseudokode. Disse containere er ikke bundet til operativsystemet og kan indeholde kode, der oprindeligt er skrevet i ethvert programmeringssprog. Emscripten v\u00e6rkt\u00f8jet kan bruges til at kompilere til WebAssembly. Overs\u00e6ttelse af WebAssembly til maskinkode for den nuv\u00e6rende platform underst\u00f8tter tilslutning af forskellige kompilations-backends (Singlepass, Cranelift, LLVM) og motorer (involvering af JIT eller generation af maskinkode).        <\/p>\n<p>Applikationer er isoleret fra hovedsystemet i et sandbox-milj\u00f8 og har kun adgang til de angivne funktioner (sikkerhedsmekanisme baseret p\u00e5 kapabilitetsstyring \u2014 for handlinger med hver af ressourcerne (filer, mapper, sockets, systemopkald osv.) skal applikationen have de relevante bef\u00f8jelser). Adgangs- og systeminteraktion sikres ved hj\u00e6lp af API WASI (WebAssembly System Interface), der tilbyder programmeringsgr\u00e6nseflader til arbejde med filer, sockets og andre funktioner, der stilles til r\u00e5dighed af operativsystemet.     <\/p>\n<p>Platformen g\u00f8r det muligt at opn\u00e5 applikationsydelse n\u00e6r den for native builds. Ved hj\u00e6lp af Native Object Engine kan der genereres maskinkode til WebAssembly-modulet (\"wasmer compile \u2014native\" til at generere pr\u00e6kompilerede objektfiler .so, .dylib og .dll), som kr\u00e6ver et minimalt runtime, men bevarer alle mulighederne for sandbox-isolering. Der kan leveres pr\u00e6kompilerede programmer med indbygget Wasmer. Til oprettelse af udvidelser og tilf\u00f8jelser tilbydes Rust API og Wasm-C-API.      <\/p>\n<p>For at k\u00f8re WebAssembly-containeren er det tilstr\u00e6kkeligt at installere Wasmer-runtime i systemet, som leveres uden eksterne afh\u00e6ngigheder (\"curl https:\/\/get.wasmer.io -sSfL | sh\"), og k\u00f8re den n\u00f8dvendige fil (\"wasmer test.wasm\"). Programmer distribueres som almindelige WebAssembly-moduler, som kan administreres med pakkeh\u00e5ndtereren WAPM. Wasmer er ogs\u00e5 tilg\u00e6ngelig som et bibliotek, der kan anvendes til at indlejre WebAssembly-kode i programmer skrevet i sprog som Rust, C\/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir og Java.     <\/p>\n<p>De vigtigste \u00e6ndringer i Wasmer 3.0:  <\/p>\n<ul>\n<li class=\"l\"> Muligheden for at oprette native eksekverbare filer til enhver platform er blevet tilf\u00f8jet. Kommandoen \"wasmer create-exe\" er blevet helt redesignet, hvilket muligg\u00f8r konvertering af en fil med mellemindhold WebAssembly til selvst\u00e6ndige eksekverbare filer til Linux-, Windows- og macOS-platforme, som kan k\u00f8re uden at Wasmer skal installeres.\n<li class=\"l\"> Muligheden for at k\u00f8re WAPM-pakker, der er placeret i mappen wapm.io, er blevet tilf\u00f8jet ved hj\u00e6lp af kommandoen \"wasmer run\". For eksempel vil udf\u00f8relsen af \"wasmer run python\/python\" resultere i download af pakken python fra wapm.io-repositoriet og dens k\u00f8rsel.\n<li class=\"l\"> Wasmer Rust API er blevet fuldst\u00e6ndig omarbejdet, hvor stil og h\u00e5ndtering af hukommelse er \u00e6ndret, hvilket muligg\u00f8r sikker opbevaring af Wasm-objekter i Store-strukturen. En ny struktur, MemoryView, er blevet foresl\u00e5et, hvilket g\u00f8r det muligt at l\u00e6se og skrive data i det line\u00e6re hukommelsesomr\u00e5de.\n<li class=\"l\"> Der er implementeret et s\u00e6t af wasmer-js komponenter for at k\u00f8re Wasmer i webbrowseren og interagere med den fra JavaScript ved hj\u00e6lp af biblioteket wasm-bindgen. Wasmer-js svarer til komponenterne wasmer-sys, som er designet til at k\u00f8re Wasmer i almindelige operativsystemer.\n<li class=\"l\"> Motorerne er blevet forenklet. I stedet for separate motorer til JIT, dynamisk og statisk linking (Universal, Dylib, StaticLib) tilbydes nu en f\u00e6lles motor, hvor indl\u00e6sning og gemning af kode styres p\u00e5 niveau med parameterindstillinger.\n<li class=\"l\"> Frameworket rkyv er blevet aktivt brugt til deserialisering af artefakter, hvilket muligg\u00f8r zero-copy drift, dvs. det kr\u00e6ver ikke yderligere hukommelsesallokering og udf\u00f8rer deserialisering ved kun at bruge den oprindeligt leverede buffer. Anvendelsen af rkyv har betydeligt \u00f8get opstartshastigheden.\n<li class=\"l\"> Den enegangskompilator, Singlepass, er forbedret, med support til funktioner med flere argumenter (multi-value), \u00f8get p\u00e5lidelighed og support til stack-trace for undtagelsesh\u00e5ndtering.\n<li class=\"l\"> Implementeringen af API WASI (WebAssembly System Interface) er forbedret. Der er l\u00f8st problemer i WASI API'en for filsysteminteraktion. Interne typer er blevet redesignede ved hj\u00e6lp af WAI (WebAssembly Interfaces), hvilket i fremtiden vil muligg\u00f8re en r\u00e6kke nye funktioner.        <\/ul>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58203\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u0440\u0435\u0442\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Wasmer, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e runtime \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 WebAssembly, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430, \u043d\u0435 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0434\u043e\u0432\u0435\u0440\u0438\u044f. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105726","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u0440\u0435\u0442\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Wasmer, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e runtime \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 WebAssembly, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/da\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d Wasmer 3.0, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0431\u0430\u0437\u0435 WebAssembly | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u0440\u0435\u0442\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Wasmer, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e runtime \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 WebAssembly, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-11-27T07:36:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-11-27T07:36:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wasmer 3.0 er tilg\u00e6ngelig, v\u00e6rkt\u00f8js\u00e6t til udvikling af applikationer baseret p\u00e5 WebAssembly | ProHoster","description":"Den tredje betydelige udgivelse af Wasmer-projektet er blevet pr\u00e6senteret, som udvikler runtime til at udf\u00f8re WebAssembly-moduler, der kan bruges til at skabe alsidige applikationer, i stand til at k\u00f8re p\u00e5 tv\u00e6rs af forskellige platforme.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d Wasmer 3.0, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0431\u0430\u0437\u0435 WebAssembly | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0442\u0440\u0435\u0442\u0438\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Wasmer, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e runtime \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 WebAssembly, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445.","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-11-27T07:36:51+00:00","article:modified_time":"2022-11-27T07:36:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/105726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=105726"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/105726\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=105726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=105726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=105726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}