WebAssembly ofrece nuevas funciones para desarrolladores

Una muestra de las herramientas que ahora están disponibles en la Web gracias a WebAssembly.

Thomas Nattestad
Thomas Nattestad

WebAssembly permite a los desarrolladores incorporar nuevas funcionalidades de buen rendimiento a la Web desde otros lenguajes. Durante los últimos años, los desarrolladores realmente aprovecharon las posibilidades. En esta publicación, se muestran solo algunas de las herramientas nuevas y brillantes con las que puedes beneficiarte, en parte, gracias a WebAssembly.

Herramientas y bibliotecas que puedes usar ahora

Sin más preámbulos, pasemos a lo bueno :D

SQLite

Este puerto completo de SQLite proporciona un sistema de administración de bases de datos relacionales incorporado y ligero. Para obtener más información, consulta esta entrada de blog que muestra este increíble puerto y cómo usarlo.

FFmpeg.wasm

FFmpeg es un proyecto de software gratuito y de código abierto que consta de un conjunto de bibliotecas y programas para administrar videos, audio y otros archivos y transmisiones multimedia. Puedes encontrar una versión compilada de Wasm aquí (repositorio de GitHub) que te permite realizar todas estas funciones directamente en el navegador.

Descripción universal de la escena (USD)

La descripción de la escena universal (USD) es un marco de trabajo para los datos de gráficos por computadora 3D que se enfoca en la colaboración, la edición no destructiva y la habilitación de múltiples puntos de vista y opiniones sobre los datos gráficos. Es un estándar de la industria compatible con empresas como Pixar, Autodesk, Nvidia y muchas más. Aún está en las primeras etapas de asistencia web, pero Autodesk ya creó un visor de USD con código abierto que puede ver aquí.

CanvasKit

CanvasKit es Skia, el motor de renderización de Chrome y Android, compilado directamente para WebAssembly. Con él, obtienes acceso simple a la API de JavaScript a prácticamente toda la potencia del motor de renderización Skia. La funcionalidad incluye renderización compleja, modelado de texto, animación, tinta y mucho más. Consulta el paquete de npm y la guía de inicio rápido.

TensorFlow.js

TensorFlow.js lleva la potencia de TensorFlow directamente al navegador con una API de JavaScript sencilla. De forma interna, optimiza los modelos en la GPU y la CPU (incluidas las optimizaciones SIMD) para maximizar el rendimiento. Puedes consultar la guía de introducción o mirar algunas de sus demostraciones directamente.

OpenCV

OpenCV es un estándar de la industria de funciones de programación, principalmente para visión artificial en tiempo real. Aquí encontrarás un paquete de npm fácil de usar y, para los usuarios de Emscripten, también hay instrucciones detalladas para realizar una compilación completa. Para ver cómo SIMD y los subprocesos mejoran el rendimiento de estas cargas de trabajo, puedes mirar esta sección de la charla Modern WebAssembly Chrome Dev Summit.

Cocos

Cocos es un motor de juego potente y popular que les permite a los desarrolladores compilar juegos compatibles entre plataformas y que ahora incluye la Web. Se une a la larga lista de motores de juego que permiten la exportación web a través de Wasm. Para comenzar, ve al editor de Cocos y sigue estas instrucciones.

Conclusión

Además de estos ejemplos específicos, hay mucho que entusiasmarte con el potencial de WebAssembly para cambiar el ritmo de las nuevas funcionalidades web. Chrome incluso creó Advanced Web Apps Fund, que puede ayudar a los desarrolladores a financiar su trabajo para mejorar la funcionalidad web disponible para todos los desarrolladores.

Hero image de Pexels, de Ann Marie Kennon.