
Processing è una libreria grafica e un ambiente di sviluppo integrato (IDE) che consente di sviluppare applicazioni di vario tipo, come videogiochi, animazioni, contenuti interattivi e opere d'arte generativa.
Si basa sul linguaggio Java, di cui eredita la sintassi, i comandi e il paradigma di programmazione orientata agli oggetti, ma in più mette a disposizione numerose funzionalità per gestire in modo facile gli aspetti grafici e multimediali.
Il Processing Development Environment (PDE) è distribuito secondo la GNU General Public License (GPL), mentre le librerie core sono distribuite secondo la GNU Lesser General Public License (LGPL). È compatibile con i sistemi operativi Linux, macOS e Microsoft Windows.
Processing può interagire con la scheda hardware Arduino.

Il pacchetto, scaricabile gratuitamente dal sito ufficiale, mette a disposizione un ambiente di sviluppo integrato (IDE).
Le varie creazioni sono chiamate sketch e sono organizzate in uno sketchbook.
Oltre alle classi che lo compongono, ogni sketch, in genere, contiene anche una cartella data in cui viene inserito il materiale multimediale utile all'applicazione, come, per esempio, immagini, font e file audio.
Ogni sketch può inoltre essere esportato come applicazione.
Per creare uno sketch dinamico, Processing mette a disposizione una funzione draw che viene eseguita per ogni frame; la funzione setup invece, viene invocata una sola volta al lancio dello sketch.
// dichiarazione di variabili globali
float xoffset = 0.0;
float yoffset = 0.0;
// metodo setup - eseguito solo all'avvio
void setup()
{
size(400, 400);
PFont font = loadFont("Calibri-24.vlw");
textFont(font, 24);
smooth();
println("Stampo una sola volta su console");
}
// metodo draw - eseguito per ogni frame
void draw()
{
background(128);
println("Stampo ad ogni frame su console");
text("Stampo ad ogni frame su schermo", xoffset, yoffset);
xoffset++;
yoffset++;
}
All'inizio vengono dichiarate le variabili globali. Nel caso dell'esempio sopra riportato, sono due float che indicano rispettivamente gli spostamenti x e y.
Nel metodo setup di questo esempio, vengono impostati diversi parametri: size indica le dimensioni della finestra dell'applicazione; smooth servirà invece per applicare l'Antialiasing a eventuali figure geometriche (primitive e non) all'interno dell'applicazione.
La seconda riga del setup serve invece a creare font; una nuova istanza di PFont, la classe che in Processing rappresenta il font da utilizzare all'interno dell'applicazione: il font scelto ("Calibri-24.vlw") viene prima caricato tramite il metodo loadFont e in seguito viene adottato (con textFont) per il testo nella riga successiva.
In draw viene prima impostato il background, ovvero lo sfondo, che in genere deve essere reimpostato a ogni frame: infatti, se non viene reimpostato ogni volta, le animazioni rimarranno letteralmente impresse sullo sfondo.
L'istruzione text permette invece di renderizzare nello sketch un messaggio, che adotta il font già scelto in precedenza in setup e la posizione individuata dalle coordinate xoffset e yoffset, i cui incrementi successivi (indicati da xoffset++ ed yoffset++) permettono di muovere il testo dall'alto a sinistra fino in basso a destra.
p5.js, creato nel 2013 come alternativa in JavaScript a Processing.js, consente di creare contenuti multimediali avanzati per HTML5, eseguiti nei moderni browser web. Processing.js è stato dismesso nel dicembre 2018.
| Controllo di autorità | VIAF (EN) 8154440151135342881 · LCCN (EN) sh2008006434 · GND (DE) 7674975-7 · BNF (FR) cb16265636f (data) · J9U (EN, HE) 987007564134805171 |
|---|