OpenFrameworks v0.01 fue lanzado por Zachary Lieberman el 3 de agosto de 2005. En febrero de 2006, la versión v0.03 era usada únicamente por el alumnado de Lieberman en el Parsons Escuela de Diseño, en la ciudad de Nueva York.
¿Qué es openFrameworks?
OpenFrameworks (u «OF» para abreviar), es un conjunto de herramientas o framework de código libre (Código abierto) diseñada para la «codificación creativa», es decir, para la programación creativa orientada a artistas y diseñadores. Está escrito en el lenguaje C ++ y consta de un gran conjunto de bibliotecas para proporcionar una interfaz de programación bastante completa.
OpenFrameworks se desarrolla de forma colaborativa. Utiliza un git, o sistema de versiones distribuidas, lo que significa que las personas pueden experimentar y hacer sugerencias. Hay una gran comunidad, en todo el mundo, trabajando en el código central: corrigiendo errores, enviando solicitudes de extracción y configurando la herramienta de la forma en que quieren verla.
“También se trata de que somos artistas desarrollando herramientas para otros artistas. Cuando trabajamos, cogemos ideas que hemos aprendido y procuramos llevarlas a openFrameworks para que otros puedan usarlas. Nos hace mejores programadores y también significa que tenemos un mayor impacto que si simplemente hacemos un proyecto con nuestros nombres. El objetivo es tomarse en serio el concepto de arte como investigación y esta es una manera de publicar los resultados de nuestra investigación. […] También, openFrameworks está ayudando a una nueva generación de artistas a crear obras que van más allá de la pantalla. […] los proyectos creados con OF parecen estar en la vanguardia de una nueva línea de investigación en diseño de interacción, la de los sistemas en tiempo real que alteran la relación de las personas con el espacio físico.”
Zachary Lieberman , creador de Openframeworks
¿Qué puedo hacer con este framework?
Dado que está escrito en un lenguaje de «nivel inferior» que el de procesamiento, resulta más sencillo de utilizar que realizar una programación directamente en su lenguaje de programación nativo. Esta es una de las claves de su éxito y el porque es una plataforma muy utilizada por artistas, diseñadores, y publicistas para aplicaciones gráficas interactivas en tiempo real.
Su concepción y filosofía está orientada para su uso en proyectos creativos y experimentales. OpenFrameworks cuenta con diversos recursos de uso común como OpenGL (para gráficos), FreeType (tipografía), FreeImage (gestión de imágenes), Quicktime (vídeo), OpenCV (visión artificial) o Assimp (3D) y es compatible con los principales sistemas operativos (Windows, OSX, Linux, iOS, Android), l
OpenFrameworks es altamente extensible. Sus extensiones se llaman complementos. Son de código abierto y están construidos por miembros de la comunidad openFrameworks. Varios cientos de complementos existentes te ofrecen la oportunidad de ampliar tu proyecto con las capacidades de varias bibliotecas de software, sensores populares y dispositivos.
¿En qué puedo ejecutar los programas OF?
OF admite sistemas operativos de escritorio (Mac / Windows / Linux), dispositivos móviles (iOS / Android), así como informática integrada (RaspberryPi / tvOS). Esto significa que, de forma similar a Processing, puedes escribir una aplicación que puede compilar y ejecutar en múltiples plataformas usando el mismo código.
Uno de sus puntos fuertes es la posibilidad de compilar el código para ser implementado en apps para iOs y Android, creando aplicaciones interactivas que se pueden comunicar o dialogar con la pieza que creemos.
¿Qué grado de dificultad tiene su uso?
A pesar de que en su web OF, se habla de facilidad de uso, creo que para una persona no acostumbrada al desarrollo de software supone una dificultad añadida el hecho de no disponer de un editor o interfaz gráfico incorporado. Tendrás que aprender a usarlo en modo código, con un programa de edición de código como Xcode (Mac), o Visual Studio (Windows y Mac). Una vez ya has comenzado a trabajar con OF, podrás descargar librerías UI (User Interface) para crear interfaces gráficos para tus proyectos, sin embargo estas librerías son complementos y no está integradas con el programa como ocurreo con Isadora, Max/MSP o Processing.
¿Qué tiene de bueno OF?
La velocidad es uno de sus fuertes, sobre todo gestionando objetos 3D complejos y realizando cálculos en tiempo real.
Uno de los mejores aspectos de OF es el ecosistema de complementos. Un «complemento» OF es básicamente una biblioteca adicional que agrega funcionalidad extendida a la interfaz de programación de openFrameworks y se nombra usando el prefijo «ofx». Hay cientos de complementos suministrados por la comunidad que proporcionan acceso ampliado a sensores, procesamiento de sonido, modelado físico, etc.
En Github tienes acceso a unos cuantos ejemplos de aplicaciones creadas con Frameworks: visión artificial, complementos para kinect u otros hardware como Blackbox, uso de 3D, complementos para sonido, TvOS, Android, iOS, sonido, etc.
Como muchas plataformas de código abierto, la comunidad entorno a Openframewoks es muy amigable y activa. Si te atascas durante el desarrollo con openFrameworks, puedes obtener ayuda del foro de openFrameworks.
Al desarrollar openFrameworks, Lieberman y Watson afirman haber establecido un sistema modular que permite a los no-iniciados empezar a trabajar de manera sencilla, pero a la vez facilita una extensa variedad de recursos a los usuarios más avanzados. En este aspecto, el lenguaje C++ resulta adecuado puesto que permite programar en distintos niveles y cuenta con numerosos recursos tanto para aprender a usarlo como para desarrollar proyectos complejos. Al ser un entorno multiplataforma, permite también que cualquiera pueda usarlo sin tener que cambiar de sistema operativo y por otra parte facilita que el producto terminado sea fácilmente exportable, por ejemplo, de Windows a MacOSX o Linux. Esta compatibilidad es especialmente útil para los artistas, que a menudo deben adaptar sus proyectos a diferentes plataformas o máquinas.