Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como emscripten

WebAssembly con Rust

  WebAssembly es un lenguaje de bajo nivel, similar a ensamblador, diseñado para ser rápido de cargar y ejecutar en navegadores modernos. Su objetivo es permitir que aplicaciones escritas en distintos lenguajes se ejecuten en la web con velocidad casi nativa . Los formatos que soporta son: .wasm : un formato binario ejecutable.  .wat : un formato formato de texto legible. Se complementa con JavaScript; permite invocar funciones WASM desde JS y viceversa. Como hemos visto en este blog: Si quieres usar WebAssembly con C/C++ tendrás que usar Emscripten .  Si quieres usar WebAssembly con Python puedes usar Pyodide . También puedes optar por usar un lenguaje como Grain cuya compilación es directa a WASM . ¿Cuál es el objetivo de WebAssembly? El objetivo de WebAssembly es compilar código escrito en lenguajes como Rust, C o C++ (entre otros) y transformarlo en un módulo .wasm que puede ejecutarse en navegadores o en entornos como Node.js con rendimi...

Webassembly: Hola, mundo en C

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 de compilación portátil para lenguajes de programación, lo que permite la implementación en la web para aplicaciones de cliente y servidor. Esto permite que podamos crear código en C, C++, Rust, etc. y ejecutarlo en nuestro navegador.  Características más importantes: Eficiente y rápido Seguro Abierto y depurable Parte de la plataforma web abierta ¿Y qué con Emscripten? Emscripten es una cadena de herramientas de compilación completa para WebAssembly , que utiliza LLVM, con un enfoque especial en la velocidad, el tamaño y la plataforma web. Con Emscripten se puede: 1. Compilar código C y C++, o cualquier otro lenguaje que use LLVM, en WebAssembly y ejecutarlo en la web, Node.js u otros tiempos de ejecución de wasm . 2. Compilar los tiempos de ejecución de C/C++ de otros lenguajes en WebAssembly y luego ...