Recientemente, WebAssembly también está avanzando como una plataforma universal para ejecutar código de manera segura en cualquier infraestructura, sistema operativo y dispositivo, no limitado a los navegadores.
W3C ha estandarizado tres especificaciones relacionadas con WebAssembly:
⚫WebAssembly Core: Se define como una máquina virtual de bajo nivel que imita de cerca la funcionalidad de muchos microprocesadores en los que se ejecuta. Ya sea a través de la compilación o interpretación Just-In-Time, el motor de WebAssembly puede funcionar a casi la velocidad del código compilado para una plataforma nativa. Un recurso .wasm es análogo a un archivo .class de Java en el sentido de que contiene datos estáticos y segmentos de código que operan sobre esos datos estáticos. A diferencia de Java, WebAssembly generalmente se produce como un objetivo de compilación de otros lenguajes de programación como C / C ++ y Rust.
⚫WebAssembly Web API: Define una interfaz de programación basada en el mecanismo Promise para solicitar y ejecutar recursos “.wasm”. El formato de recursos de WebAssembly está optimizado para iniciar la ejecución sin esperar a que el archivo se cargue por completo, lo que mejora la capacidad de respuesta de las aplicaciones web.
⚫Interfaz JavaScript de WebAssembly: Proporciona una API para integrarse con JavaScript. Le permite obtener valores y pasar parámetros a las funciones de WebAssembly. La ejecución de WebAssembly corresponde al modelo de seguridad de JavaScript y toda interacción con el sistema principal se lleva a cabo de manera similar a la ejecución del código JavaScript.
En el futuro, está previsto preparar especificaciones para funciones de WebAssembly como:
⚫Multithreading con memoria compartida y acceso a memoria atómica.
⚫Operaciones vectoriales basadas en SIMD, que permiten paralelizar la ejecución de ciclos.
⚫Tipos de referencia para referencias directas a objetos del código de WebAssembly.
⚫Capacidad para llamar a funciones sin gastar espacio adicional en la pila.
⚫Integración con módulos ECMAScript: la capacidad de cargar código de WebAssembly desde JavaScript como módulos que cumplen con la especificación ECMAScript 6.
⚫El modo de trabajo con el recolector de basura.
⚫Interfaces de depuración.
⚫WASI (WebAssembly System Interface): API para la interacción directa con el sistema operativo (API POSIX para trabajar con archivos, sockets, etc.).
Fuente : linuxadictos
- Visto: 837