Ir al contenido principal

Entradas

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

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

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

Instalando Lobster con WSL

Lobster es un lenguaje tipado estáticamente, con sintaxis compacta. Soporta funciones, estructuras de datos, programación funcional y orientada a objetos ligera. Ideal para gráficos, juegos y scripting rápido gracias a su motor integrado En entregas pasadas ya hemos hablado de este lenguaje de programación que apenas va generando cierto interés. Hemos visto como instalarlo con ayuda de Docker . Ahora veremos cómo instalarlo mediante Windows Subsystem for Linux (WSL) , el componente de Microsoft Windows que nos permite usar un entorno Linux desde Windows, sin la necesidad de una máquina virtual (y Docker). Pero recordemos un poco: WSL te permite probar tus aplicaciones en Linux, usar Docker y bases de datos nativas, integrar herramientas de línea de comandos y mantener un flujo de trabajo híbrido sin salir de Windows.  Es una forma práctica de simular entornos de producción Linux directamente en tu máquina de desarrollo. Instalando Lobster 1. Abrimos una...