OpenFrameworks è una libreria di classi scritte nel linguaggio di programmazione per computer C++ che aiuta a facilitare la codifica rapida ed efficiente di applicazioni destinate principalmente all’espressione artistica o alla sperimentazione. L’obiettivo principale del toolkit software è consentire a un artista o programmatore di creare presentazioni o applicazioni senza doversi preoccupare delle funzioni dell’interfaccia di basso livello o delle raccolte di librerie disparate. L’attuale libreria openFrameworks si basa su altre librerie open source per l’accesso a grafica, caratteri e funzionalità audio, ma poi racchiude tutti i diversi comandi della libreria esterna all’interno delle proprie classi univoche. Gli sviluppatori di openFrameworks mantengono il codice in modo che possa essere compilato sulla maggior parte dei principali sistemi operativi e su alcuni dispositivi portatili senza la necessità di modifiche.
Una differenza tra openFrameworks e altre librerie disponibili è che non tenta di fornire wrapper per la logica del programma come potrebbe fare una libreria di programmazione di giochi. Al contrario, l’obiettivo è esclusivamente quello di poter accedere facilmente agli elementi per creare presentazioni audio e video e accettare l’input in modo che tali applicazioni possano essere interattive. Questa direzione di sviluppo mirata porta a una libreria che è scritta più strettamente e lascia spazio sufficiente a un programmatore esperto per implementare la propria logica di programma.
Ci sono alcuni motivi per cui un artista o un programmatore potrebbe voler utilizzare la libreria openFrameworks. Per coloro che stanno appena iniziando a imparare a programmare, la libreria elimina la necessità di scrivere molte righe di codice ripetitivo includendole già in determinate funzioni o metodi. Potrebbe anche essere più facile per alcuni imparare openFrameworks perché le convenzioni di denominazione utilizzate saranno coerenti in tutta la libreria, rimuovendo il requisito di avere familiarità con le convenzioni di diverse librerie non correlate.
Le librerie esterne utilizzate da openFrameworks sono tutte open source e possono fornire un accesso di livello molto basso a hardware come schede grafiche, schede audio e dispositivi di input e output. Avvolgendo queste funzioni di basso livello, insieme a tutto il codice necessario associato, in una classe più coesa e intuitiva che contiene metodi facilmente comprensibili e utilizzati, l’accesso a basso livello diventa possibile per un artista o un programmatore anche se quella persona non capisce il codice di basso livello. L’accesso diretto all’hardware e al software fornisce anche prestazioni migliori e animazioni e riproduzione audio più fluide.
OpenFrameworks è progettato per essere una libreria multipiattaforma, quindi i programmi che utilizzano il codice possono essere compilati su quasi tutti i sistemi operativi e possono essere eseguiti su alcuni dispositivi mobili. Ciò può portare a molte possibilità, specialmente durante un’instillazione di arte digitale in una galleria, dove potrebbe essere possibile per gli spettatori scaricare opere d’arte interattive visualizzate su dispositivi mobili per una visione successiva. Un altro vantaggio dell’essere multipiattaforma è la capacità di integrare dispositivi di input unici, come schermi tattili, su dispositivi palmari o telecamere di rilevamento del movimento tridimensionale su console di gioco.