2.2. Herramientas de programación creativa
2.2.7. Entornos Javascript
Existen una gran cantidad de entornos y librerías de Javascript para programación creativa, que permiten mostrar animaciones interactivas, visualizaciones de datos, juegos y todo tipo de creaciones en cualquier navegador web. La ventaja de usar Javascript es que, al ser el proyecto accesible desde un navegador, no depende de sistemas operativos y se puede distribuir mucho más fácilmente. A continuación destacamos algunos de los entornos y librerías más empleados.
p5.js
Creado por la artista y programadora Lauren McCarthy en 2014, p5.js es una reinterpretación de Processing para web, empleando JavaScript y HTML. Más allá de una simple adaptación de Processing, p5.js persigue los mismos objetivos (hacer que programar sea fácil para artistas y diseñadores) pero trabajando a partir de JavaScript en lugar de Java. Esto permite que los proyectos creados con p5.js se integren naturalmente en un sitio web y aprovechen todas las posibilidades de este entorno. Por ejemplo, con p5.js se puede crear una animación que se extienda por toda la ventana del navegador y no se limite a un recuadro que se inserta en la página. De forma similar a Processing, y con el apoyo de sus creadores, p5.js se sigue desarrollando gracias a una extensa comunidad de desarrolladores.
Three.js
La creación y visualización de animaciones en 3D en un navegador web es la función principal de Three.js, una librería de JavaScript y API desarrollada por Ricardo Cabello y Branislav Ulicny en 2010. Empleando Javascript y WebGL, Three.js permite crear animaciones 3D complejas sin necesidad de plugins y evitando, por tanto, la carga de procesamiento que supondría su uso. Una de las ventajas que ofrece a artistas y diseñadores es su facilidad de uso, puesto que no requiere conocimientos avanzados de JavaScript ni WebGL, a la vez que cuenta con numerosos ejemplos que facilitan incorporar código directamente a un proyecto y también emplear otras librerías de JavaScript.
Paper.js
Conocido como «la navaja suiza de la programación con gráficos de vectores», Paper.js permite crear animaciones interactivas con gráficos de vectores y curvas bezier dentro del elemento <canvas> en HTML5, lo cual facilita integrar cualquier proyecto en un sitio web. Las animaciones creadas con Paper.js son compatibles con cualquier navegador y sistema operativo, incluyendo dispositivos móviles. Desarrollado por Jürg Lehni y Jonathan Puckey, este entorno está pensado para facilitar la programación a artistas y diseñadores, de manera que resulta fácil de aprender y presenta una interfaz clara y consistente.
D3.js
Una herramienta muy popular en la integración de la visualización de datos en sitios web es D3.js, una librería de JavaScript que emplea los estándares SVG, HTML5 y CSS para crear visualizaciones de datos interactivas que se pueden mostrar en cualquier navegador web. Desarrollada a partir de 2011, D3.js se emplea en miles de sitios web, particularmente para integrar gráficos interactivos y mapas en los sitios web de periódicos y agencias de noticias. Además, dado que crea archivos SVG, D3.js permite también exportar proyectos para su uso en publicaciones en papel. La librería emplea funciones de JavaScript para crear objetos en formato SVG, darles un estilo, crear efectos dinámicos o también emplear bases de datos a las que se asignan objetos SVG para generar diagramas y gráficos interactivos.