Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como wasm

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...

Gren: un lenguaje de programación funcional

Gren es un lenguaje de programación funcional con efectos secundarios cuidadosamente gestionados y un sólido sistema de tipos estático. El lenguaje se compone de pocos conceptos con nombres legibles para humanos que se combinan bien, lo que permite lograr más con menos. Su objetivo es poder escribir código que se ejecute tanto en el navegador como en el backend . Algunas de sus características más notables son: Compila a JS, con enfoque a WASM .  Es muy portable.  Tiene soporte incorporado para Node.  Tiene evaluación estricta y soporte de source-map .  Fácil  depuración y el perfilado utilizando las mismas herramientas que usarías para Node o navegadores. Para instalarlo tenemos dos opciones. Con Npm: $ npm install - g gren - lang Con Nix : $ nix - shell - p gren Un vistazo a Gren Gren es bastante similar al lenguaje de programación Elm.  Demos un pequeño vistazo al lenguaje. Tipos de datos en Gren . ...

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...

Yew framework

Yew es: un marco para crear aplicaciones web confiables y eficientes. Un marco moderno de Rust para crear aplicaciones web front-end utilizando WebAssembly . Comenzando con Yew framework Abrimos una terminal y tecleamos: cargo install trunk rustup target add wasm32 - unknown - unknown Estos nos instalará lo necesario para comenzar a crear un proyecto Yew.  ¿Pero, qué es Trunk?  Trunk es un paquete de aplicaciones web WASM para Rust. Trunk utiliza un patrón de configuración opcional simple para crear y agrupar WASM, fragmentos de JS y otros activos (imágenes, css, scss) a través de un archivo HTML de origen. ¿Y Wasm? WebAssembly, abreviado wasm, es un formato de código binario portable, para la ejecución íntegra en navegador de scripts de lado del cliente. Se trata de un lenguaje de bajo nivel, diseñado inicialmente como formato destino en la compilación desde C y C++.  Wasm está diseñado como un objetivo de compilación portátil para lenguajes de progra...