Una introducción a WebAssembly para pitonistas

Abstract

WebAssembly es un estándar abierto que define un formato de código binario ejecutable de alto desempeño, y que además es compacto, seguro y portable. Aunque WebAssembly se diseñó inicialmente para correr en navegadores web, es posible también combinarlo con CPython para acelerar nuestros programas.

Description

WebAssembly (normalmente abreviado como Wasm) es una especificación de un conjunto de instrucciones virtuales que permite construir aplicaciones de alto rendimiento en la web y muchos otros ambientes. Existen diversas implementaciones de Wasm, incluyendo navegadores web y sistemas de tipo stand-alone. Wasm se puede utilizar para desarrollar aplicaciones tales como códecs de video y audio, gráficas 3D, multimedia, videojuegos, software criptográfico e intérpretes de lenguajes. En diciembre de 2019, el World Wide Web Consortium (W3C) incorporó a Wasm como un estándar oficial de la web. Ahora los cuatro lenguajes de la web abierta son: HTML, CSS, JavaScript y Wasm.

En esta plática conoceremos los principales aspectos de Wasm y su relevancia desde el punto de vista de un programador de Python. Veremos también cómo integrar código de Wasm desde una aplicación de CPython (la implementación oficial y más ampliamente utilizada de Python).