{"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\/es\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly","title":{"rendered":"Est\u00e1 disponible Wasmer 3.0, un conjunto de herramientas para crear aplicaciones basadas en WebAssembly","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Se presenta la tercera versi\u00f3n significativa del proyecto Wasmer, que desarrolla un runtime para ejecutar m\u00f3dulos WebAssembly, el cual se puede utilizar para crear aplicaciones universales capaces de ejecutarse en diferentes sistemas operativos, as\u00ed como para la ejecuci\u00f3n aislada de c\u00f3digo no confiable. El c\u00f3digo del proyecto est\u00e1 escrito en Rust y se distribuye bajo la licencia MIT.      <\/p>\n<p>La capacidad de ejecutar una aplicaci\u00f3n en diferentes plataformas se logra mediante la compilaci\u00f3n del c\u00f3digo a un c\u00f3digo intermedio de bajo nivel en WebAssembly, que puede ejecutarse en cualquier sistema operativo o integrarse en programas en otros lenguajes de programaci\u00f3n. Los programas son contenedores livianos en los que se ejecuta pseudoc\u00f3digo de WebAssembly. Estos contenedores no est\u00e1n vinculados al sistema operativo y pueden incluir c\u00f3digo originalmente escrito en cualquier lenguaje de programaci\u00f3n. Se puede utilizar la herramienta Emscripten para la compilaci\u00f3n a WebAssembly. Para la traducci\u00f3n de WebAssembly a c\u00f3digo m\u00e1quina de la plataforma actual, se apoya la conexi\u00f3n de diferentes backends de compilaci\u00f3n (Singlepass, Cranelift, LLVM) y motores (utilizando JIT o generando c\u00f3digo m\u00e1quina).        <\/p>\n<p>Las aplicaciones est\u00e1n aisladas del sistema principal en un entorno sandbox y solo tienen acceso a la funcionalidad declarada (mecanismo de seguridad basado en el control de capacidades: para realizar acciones con cada uno de los recursos (archivos, directorios, sockets, llamadas al sistema, etc.), se deben otorgar los permisos correspondientes a la aplicaci\u00f3n). El control de acceso y la interacci\u00f3n con el sistema se llevan a cabo mediante la API WASI (WebAssembly System Interface), que proporciona interfaces para trabajar con archivos, sockets y otras funciones ofrecidas por el sistema operativo.     <\/p>\n<p>La plataforma permite alcanzar un rendimiento de ejecuci\u00f3n de aplicaciones cercano al de las compilaciones nativas. Mediante el Native Object Engine para el m\u00f3dulo WebAssembly, se puede generar c\u00f3digo m\u00e1quina (\u00abwasmer compile \u2014native\u00bb para generar archivos de objeto precompilados .so, .dylib y .dll), cuyo lanzamiento requiere un runtime m\u00ednimo, pero se mantienen todas las capacidades de aislamiento sandbox. Es posible suministrar programas precompilados con Wasmer integrado. Para crear extensiones y complementos, se ofrecen las API de Rust y Wasm-C-API.      <\/p>\n<p>Para ejecutar un contenedor WebAssembly, solo es necesario instalar en el sistema el runtime de Wasmer, que se proporciona sin dependencias externas (\u00abcurl https:\/\/get.wasmer.io -sSfL | sh\u00bb), y ejecutar el archivo necesario (\u00abwasmer test.wasm\u00bb). Los programas se distribuyen en forma de m\u00f3dulos WebAssembly ordinarios, cuya gesti\u00f3n se puede realizar mediante el gestor de paquetes WAPM. Wasmer tambi\u00e9n est\u00e1 disponible en forma de biblioteca, que se puede utilizar para integrar c\u00f3digo WebAssembly en programas en lenguajes como Rust, C\/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir y Java.     <\/p>\n<p>Los principales cambios en Wasmer 3.0:  <\/p>\n<ul>\n<li class=\"l\"> Se ha a\u00f1adido la posibilidad de crear archivos ejecutables nativos para cualquier plataforma. Se ha redise\u00f1ado por completo el comando \u00abwasmer create-exe\u00bb, que permite transformar un archivo con c\u00f3digo intermedio de WebAssembly en archivos ejecutables aut\u00f3nomos para las plataformas Linux, Windows y macOS, que pueden funcionar sin la instalaci\u00f3n de Wasmer.\n<li class=\"l\"> Se ha otorgado la posibilidad de ejecutar paquetes WAPM alojados en el directorio wapm.io mediante el comando \u00abwasmer run\u00bb. Por ejemplo, ejecutar \u00abwasmer run python\/python\u00bb resultar\u00e1 en la carga del paquete python desde el repositorio wapm.io y su ejecuci\u00f3n.\n<li class=\"l\"> Se ha redise\u00f1ado por completo el API de Wasmer Rust, cambiando el estilo de manejo de memoria y permitiendo el almacenamiento seguro de objetos Wasm en la estructura Store. Se ha propuesto una nueva estructura MemoryView, que permite leer y escribir datos en el \u00e1rea de memoria lineal.\n<li class=\"l\"> Se ha implementado un conjunto de componentes wasmer-js para ejecutar Wasmer en el navegador web e interactuar con \u00e9l desde JavaScript, utilizando la biblioteca wasm-bindgen. En cuanto a sus capacidades, wasmer-js es equivalente a los componentes wasmer-sys, dise\u00f1ados para ejecutar Wasmer en sistemas operativos convencionales.\n<li class=\"l\"> Se han simplificado los motores. En lugar de motores separados para JIT, enlace din\u00e1mico y est\u00e1tico (Universal, Dylib, StaticLib), ahora se ofrece un motor \u00fanico, gestionando la carga y el almacenamiento de c\u00f3digo a nivel de configuraci\u00f3n.\n<li class=\"l\"> Para la deserializaci\u00f3n de artefactos, se ha utilizado el marco rkyv, que opera en modo zero-copy, es decir, no requiere la asignaci\u00f3n de memoria adicional y realiza la deserializaci\u00f3n \u00fanicamente utilizando el b\u00fafer originalmente proporcionado. La aplicaci\u00f3n de rkyv ha permitido aumentar significativamente la velocidad de inicio.\n<li class=\"l\"> Se ha mejorado el compilador de una sola pasada Singlepass, que ahora ofrece soporte para funciones con m\u00faltiples argumentos (multi-value), aumenta la fiabilidad de funcionamiento y a\u00f1ade soporte para marcos de manejo de excepciones.\n<li class=\"l\"> Se ha mejorado la implementaci\u00f3n del API WASI (Interfaz del Sistema WebAssembly). Se han resuelto problemas en la interfaz WASI para trabajar con el sistema de archivos. Los tipos internos se han reestructurado utilizando WAI (Interfaces de WebAssembly), lo que en el futuro permitir\u00e1 la introducci\u00f3n de una serie de nuevas posibilidades.        <\/ul>\n<p>Fuente: <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.2 - 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\/es\/blog\/news\/dostupen-wasmer-3-0-instrumentarij-dlya-sozdaniya-prilozhenij-na-baze-webassembly\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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 ya est\u00e1 disponible, la herramienta para crear aplicaciones basadas en WebAssembly | ProHoster","description":"Se presenta la tercera versi\u00f3n significativa del proyecto Wasmer, que desarrolla un runtime para ejecutar m\u00f3dulos WebAssembly que se puede utilizar para crear aplicaciones universales capaces de ejecutarse en diferentes entornos.","canonical_url":"https:\/\/prohoster.info\/es\/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":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/105726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=105726"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/105726\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=105726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=105726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=105726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}