OpenFrameworks es una biblioteca de clases escritas en el lenguaje de programación de computadoras C ++ que ayuda a facilitar la codificación rápida y eficiente de aplicaciones destinadas principalmente a ser utilizadas para expresión artística o experimentación. El objetivo principal del kit de herramientas de software es permitir que un artista o programador cree presentaciones o aplicaciones sin tener que preocuparse por funciones de interfaz de bajo nivel o colecciones de bibliotecas dispares. La biblioteca openFrameworks real se basa en otras bibliotecas de código abierto para acceder a gráficos, fuentes y funcionalidad de audio, pero luego envuelve todos los diferentes comandos de la biblioteca externa dentro de sus propias clases únicas. Los desarrolladores de openFrameworks mantienen el código para que se pueda compilar en la mayoría de los principales sistemas operativos y en algunos dispositivos portátiles sin necesidad de modificaciones.
Una diferencia entre openFrameworks y otras bibliotecas disponibles es que no intenta proporcionar envoltorios para la lógica del programa como lo haría una biblioteca de programación de juegos. En cambio, la atención se centra únicamente en poder acceder fácilmente a los elementos para crear presentaciones de audio y visuales, y aceptar entradas para que esas aplicaciones puedan ser interactivas. Esta dirección de desarrollo dirigida conduce a una biblioteca que está escrita con más precisión y deja suficiente espacio para que un programador experimentado implemente su propia lógica de programa.
Hay algunas razones por las que un artista o programador puede querer utilizar la biblioteca openFrameworks. Para aquellos que recién están comenzando a aprender a programar, la biblioteca elimina la necesidad de escribir muchas líneas de código repetitivo al incluirlas en ciertas funciones o métodos. También podría ser más fácil para algunos aprender openFrameworks porque las convenciones de nomenclatura utilizadas serán consistentes en toda la biblioteca, eliminando el requisito de estar familiarizado con las convenciones de varias bibliotecas no relacionadas.
Las bibliotecas externas utilizadas por openFrameworks son todas de código abierto y pueden proporcionar acceso de muy bajo nivel a hardware como tarjetas gráficas, tarjetas de audio y dispositivos de entrada y salida. Al envolver estas funciones de bajo nivel, junto con todo su código necesario asociado, en una clase más cohesiva e intuitiva que contiene métodos fáciles de entender y utilizar, el acceso de bajo nivel es posible para un artista o programador incluso si esa persona no comprende el código de bajo nivel. El acceso directo al hardware y al software también proporciona un mejor rendimiento y una reproducción de audio y animaciones más fluidas.
OpenFrameworks está diseñado para ser una biblioteca multiplataforma, por lo que los programas que usan el código se pueden compilar en casi cualquier sistema operativo y se pueden ejecutar en algunos dispositivos móviles. Esto puede conducir a muchas posibilidades, especialmente durante una instalación de arte digital en una galería, donde los espectadores podrían descargar las obras de arte interactivas mostradas en dispositivos móviles para verlas más tarde. Otro beneficio de ser multiplataforma es la capacidad de integrar dispositivos de entrada únicos, como pantallas táctiles, en dispositivos portátiles o cámaras de seguimiento de movimiento tridimensionales en consolas de juegos.