El principal propósito de este Trabajo de Fin de Grado es lograr entender el funcionamiento interno de WebAssembly y lograr verlo de forma visual mediante una aplicación web que ilustre su funcionamiento.
WebAssembly es un formato binario de instrucciones que representa un paso intermedio entre un lenguaje de programación y código nativo y cuyo propósito es ser lo más portátil posible, es decir, que se pueda ejecutar en el mayor número de dispositivos posibles sin perder demasiado rendimiento.
Todos los navegadores actuales implementan de una forma o de otra una máquina virtual que permite leer y traducir ficheros fuentes de WebAssembly y traducirlos a código máquina para permitir la ejecución de código eficiente. Este proceso permite que se ejecute ciertas partes de una aplicación web con una eficiencia cercana a las aplicaciones nativas, cosa que con JavaScript no se consigue normalmente.
Para demostrar las capacidades de WebAssembly se ha desarrollado un simulador o interprete simple en el lenguaje de programación Rust, que se compilará al formato binario de WebAssembly y se utilizará sus funciones dentro de un navegador web. Este simulador se comunicará con la interfaz web, que permitirá controlarlo y mostrar información relevante de su funcionamiento.