¿Qué es WebAssembly?
WebAssembly (abreviado Wasm) es un formato de instrucción binaria para una máquina virtual basada en pila. Wasm está diseñado como un objetivo portátil para la compilación de lenguajes de alto nivel como C / C ++ / Rust, lo que permite la implementación en la web para aplicaciones de cliente y servidor.
WebAssembly es:
Una mejora de JavaScript: implemente sus elementos críticos de rendimiento en wasm e impórtelos como un módulo estándar de JavaScript.
Un nuevo lenguaje: el código de WebAssembly define un AST (árbol de sintaxis abstracta) representado en formato binario. Puede crear y depurar en un formato de texto para que sea legible.
reaccionar plantilla de página de perfil de usuario
Una mejora del navegador: los navegadores comprenderán el formato binario, lo que significa que podremos compilar paquetes binarios que se comprimen más pequeños que el texto JavaScript que usamos hoy. Cargas útiles más pequeñas significan una entrega más rápida. Dependiendo de las oportunidades de optimización en tiempo de compilación, los paquetes de WebAssembly también pueden ejecutarse más rápido que JavaScript.
Un objetivo de compilación: una forma para que otros lenguajes obtengan soporte binario de primera clase en toda la plataforma web.
¿Qué es exactamente WebAssembly?
WebAssembly define un árbol de sintaxis abstracta (AST) que se almacena en formato binario. Binary es genial porque significa que podemos crear paquetes de aplicaciones más pequeños. Probablemente se esté preguntando cómo depuraremos un formato de lenguaje binario.
Afortunadamente, mientras revisamos el depurador que inevitablemente aparecerá en los navegadores, el AST se representará en un formato de texto (moderadamente) amigable. Me encantaría mostrarte ejemplos, pero son un poco escasos en este momento. Probablemente será un poco menos legible que JavaScript escrito a mano, pero tan legible como asm.js. compilado. Quizás más legible. Ya veremos.
¿Para qué se utilizará WebAssembly?
Entre otras cosas, será fácil expresar cosas como hilos y SIMD, una palabra elegante que significa que puede alinear varios fragmentos de datos uno al lado del otro e invocar una sola instrucción para operar en todos ellos al mismo tiempo. Significa instrucción única, datos múltiples.
Eso significa canalizaciones de procesamiento paralelo y gordas para su procesador de efectos de transmisión de video en tiempo real. Si tiene el dedo en el pulso, probablemente ya haya oído hablar de hacer esto en JS, pero siempre me ha parecido un poco incómodo intentar hacer cosas de bajo nivel como esta utilizando el sistema de tipos existente de JavaScript.
Este es uno de esos casos en los que probablemente querrá olvidarse del sistema de objetos, el recolector de basura y todas las cosas dinámicas sofisticadas. Simplemente alinee algunos trozos sin procesar en pequeñas filas y tritúrelos lo más rápido posible.
WebAssembly trae diversidad de idiomas a la plataforma web
Realmente no necesitamos WebAssembly para llevar otros idiomas a la plataforma web. Ya tenemos los mejores motores de juegos AAA funcionando sin problemas con una calidad asombrosa compilando en JavaScript.
WebAssembly agrega cosas que la mayoría de los desarrolladores de JS estarían de acuerdo en que no necesitamos en JavaScript. Es posible que todavía obtengamos esas cosas, pero no porque las necesitemos para el código JavaScript. Haremos que admitan la compilación desde otros lenguajes que los utilicen.
WebAssembly nos brinda un objetivo de compilación alternativo: uno diseñado específicamente para ese propósito.
Ahora será más fácil portar el código que se basa en gran medida en funciones como los subprocesos de memoria compartida. Apuesto a que el proceso de escribir un compilador para WebAssembly será algo menos complicado que escribir un compilador para JavaScript, simplemente porque hay una mejor asignación de las características del lenguaje fuente al AST de destino.
Por muy bueno que sea escuchar que todos los lenguajes antiguos que conocemos y amamos se ejecutarán en la plataforma web ahora, WebAssembly significa una cosa más muy importante:
WebAssembly es una invitación abierta a los desarrolladores que crean futuros lenguajes de programación.
donde comprar wownero
El futuro de la plataforma web nunca ha sido tan brillante. Será mejor que te quites las cortinas.
React y WebAssembly para reescribir aplicaciones nativas
¿Pueden React y las tecnologías web competir con los kits de herramientas nativos cuando se trata de crear aplicaciones de escritorio ricas y súper complejas? ¿Podemos ir más allá y crear aplicaciones mejores que las nativas? Suena como un buen desafío
Esta charla presenta cómo se pueden usar React, JavaScript y WebAssembly para escribir nuevas aplicaciones ambiciosas o portar las existentes, con el ejemplo del mundo real de mi software de desarrollo de juegos de código abierto. Mostraré cómo aprovechar el ecosistema React para crear aplicaciones de alto rendimiento: arquitectura, patrones, escritura, módulos útiles de código abierto ... y cómo ir un paso más allá y brindar una mejor experiencia de usuario, así como una mejor experiencia de desarrollador.
Estas aplicaciones no son aplicaciones web, no son aplicaciones nativas, son aplicaciones web nativas híbridas y pueden proporcionar lo mejor de ambos mundos.
#react #reactjs #WebAssembly #javascript
www.youtube.com
React y WebAssembly para reescribir aplicaciones nativas
Esta charla presenta cómo se pueden usar React, JavaScript y WebAssembly para escribir nuevas aplicaciones ambiciosas o portar las existentes, con el ejemplo del mundo real de mi software de desarrollo de juegos de código abierto.