Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como webassembly

Yew en otro vistazo

Yew es un marco de trabajo (framework) para crear aplicaciones web fiables y eficientes. Usa Rust como lenguaje base. Ya hemos hablado sobre esta herramienta en una entrega anterior . Como mencionamos usa WebAssembly , lo que permite la implementación en la web para aplicaciones de cliente y servidor. Este framework ha sufrido algunos cambios y veremos cómo crear una sencilla aplicación como la vista en la anterior entrega. Yew framework Manos a la obra. Comencemos con un ejemplo sencillo. Pero antes los requerimientos: Tener Rust. Tener Cargo. Abrimos una terminal y tecleamos: $ rustup update Esto actualizará la versión de Rust instalada en nuestra máquina. La instalación puede tardar varios minutos. Instalando WebAssembly y Trunk Además de tener la última versión de Rust (y Cargo) deberemos instalar WebAssembly y Trunk ; ambos son paquetes necesarios para empezar con Yew . Ejecutemos estos comandos para la instalación: $ rustup target add ...

AssemblyScript: de Typescript a WebAssembly

  AssemblyScript es un lenguaje que permite escribir código en TypeScript/JavaScript y compilarlo a WebAssembly . Su principal ventaja es la familiaridad para desarrolladores web, mientras que sus desventajas incluyen menor rendimiento comparado con Rust o C++ y un ecosistema aún limitado. Es ideal para proyectos que requieren optimización moderada sin salir del mundo JavaScript. Basado en TypeScript que compila a WebAssembly . Diseñado para que desarrolladores web puedan aprovechar Wasm sin aprender C, C++ o Rust.  Usa un subconjunto de TypeScript , lo que facilita la transición para quienes ya trabajan con JavaScript. Ventajas de AssemblyScript: Familiaridad: Los desarrolladores web que conocen TypeScript pueden empezar rápidamente.  Integración sencilla: Se comunica bien con JavaScript, ideal para proyectos web híbridos.  Curva de aprendizaje baja: No requiere aprender un lenguaje nuevo como Rust.  Rapidez relativa:...

TeaVM: convertir código Java a WebAssembly

TeaVM es un compilador ahead-of-time que transforma bytecode de Java en JavaScript o WebAssembly, permitiendo ejecutar aplicaciones Java directamente en el navegador sin necesidad de reescribirlas en JavaScript. Es útil para quienes quieren aprovechar su código Java (o incluso Kotlin y Scala) en entornos web modernos. Es similar a lo que se hacía con GWT (Google Web Toolkit). Convertir tu código Java a código Javascript. En este blog ya hemos hablado de WebAssembly: WebAssembly con Rust. WebAssembly con Python. WebAssembly con C/C++ Creando un proyecto Java (y TeaVM) 1. Creamos nuestro proyecto Java con Maven: $ mvn - DarchetypeCatalog = local - DarchetypeGroupId = org . teavm - DarchetypeArtifactId = teavm - maven - webapp - DarchetypeVersion = 0.13.1 archetype:generate $ cd demo - teavm 2. Una vez ubicados en el directorio creado modificaremos el programa principal `` MainClass.java ``. package com.inforhomex.web ; impor...

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 Python (con Pyodide)

Continuamos, después de un tiempo considerable, a hablar de Webassembly . Esta vez como lenguaje base usaremos Python. Como herramienta extra usaremos Pyodide , una distribución de CPython compilada a WebAssembly (WASM) que permite ejecutar código Python directamente en el navegador web o en Node.js. No es necesaria su instalación, aunque existe la posibilidad de hacerlo. Pyodide nos permite: Ejecutar Python en el navegador sin instalación.  Usar librerías científicas y de análisis de datos.  Integrar Python con JavaScript y el DOM.  Crear notebooks y aplicaciones web interactivas. Programando en Python (y Pyodide) Hagamos algunos ejercicios para comprobar el funcionamiento de esta herramienta. Ejemplo 1. Escribir el clásico "Hola, mundo" en Python y Pyodide . holamundo.html <!DOCTYPE html> < html > < head > < meta charset = "utf-8" > < title > Hola Mundo con Pyodide </ title > < s...