alt tex
Web

Los mejores lenguajes de WebAssembly

WebAssembly (Wasm) define un formato de código binario portátil para programas ejecutables. Puede utilizarse para ejecutar lenguajes que soporten WebAssembly en el navegador. Por lo tanto, ya no estás restringido a usar sólo JavaScript en el navegador. En este artículo quiero mostrarte qué lenguajes de programación soportan actualmente WebAssembly.

.Net

En el área de .Net, Blazor es actualmente el producto de Microsoft que ofrece interoperabilidad entre C# y JavaScript usando WebAssembly. Se pueden escribir aplicaciones de frontend y backend sólo en C#. La parte del frontend se ejecuta en WebAssembly en el navegador.

https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor

AssemblyScript

AssemblyScript es similar a TypeScript pero compila a WebAssembly en lugar de JavaScript. Por lo tanto, para la lógica de computación pesada como la manipulación de imágenes se podría utilizar AssemblyScript ya que el rendimiento es mejor que el código similar de TypeScript.

https://www.assemblyscript.org

C / C++

Emscripten es un compilador que compila código C/C++ en WebAssembly. Ha sido uno de los primeros compiladores a WebAssembly en el mercado.

https://emscripten.org

COBOL

COBOL es un lenguaje de programación empresarial que todavía se utiliza en muchas aplicaciones de mainframe heredadas. El proyecto Cobweb compila COBOL a WebAssembly, haciendo posible un mayor uso de este eminente lenguaje.

https://github.com/cloudflare/cobweb

D

Los diseñadores de los lenguajes de programación D querían hacer un “mejor C++“. Se utiliza sobre todo en la programación a nivel de sistema. El compilador tiene una opción para dar salida a WebAssembly.

https://dlang.org/index.html

Faust

Faust es un lenguaje de programación funcional para la síntesis de sonido y el procesamiento de audio. También soporta WebAssembly.

https://faust.grame.fr

Go

Go es un lenguaje de programación compilado estáticamente con recolección de basura y concurrencia en mente. Soporta WebAssembly.

https://go.dev

Pascal

Pascal es un lenguaje de programación procedimental diseñado por Niklaus Wirth. El compilador Free Pascal también tiene WebAssembly como objetivo de compilación.

https://www.freepascal.org

PHP

PHP es un lenguaje de scripting de propósito general dirigido al desarrollo web. Actualmente, hay un esfuerzo para ejecutar PHP en WebAssembly. Se llama “Wasmer PHP” y está alojado en GitHub.

https://github.com/wasmerio/wasmer-php

Python

Python es un lenguaje de programación de alto nivel y de propósito general muy popular. La distribución Pyodide apunta a Python para el navegador y Node usando WebAssembly.

https://github.com/pyodide/pyodide

Rust

Rust es un lenguaje de programación multiparadigma de propósito general. Rust refuerza la seguridad de la memoria y es popular para la programación de sistemas. Rust soporta WebAssembly.

https://www.rust-lang.org

Swift

Swift es un lenguaje de programación de propósito general compilado desarrollado por Apple. Usando el proyecto SwiftWasm puedes compilar Swift a WebAssembly.

https://swiftwasm.org

Conclusión

Como has podido ver en la lista anterior, actualmente existen multitud de lenguajes de programación que soportan WebAssembly. Por lo tanto, no estás atascado con sólo JavaScript en el navegador, sino que puedes utilizar el lenguaje más apropiado para la tarea. Con el tiempo, el soporte para WebAssembly en los lenguajes de programación probablemente sólo crecerá.

Referencias

WebAssembly.org: https://webassembly.org

Awesome WASM Langs: https://github.com/appcypher/awesome-wasm-langs

Imagen de portada Foto de Philip Oroni en Unsplash

Published 6 Nov 2022

Creative Commons License
.
Thomas Derflinger

Escrito por Thomas Derflinger

Soy un empresario visionario y desarrollador de software. En este blog escribo principalmente sobre programación web y temas relacionados como el IoT.