Processing
Processing è un linguaggio di programmazione basato su Java che consente di sviluppare diversi applicazioni come giochi, animazioni e contenuti interattivi. Basandosi su Java ne eredita completamente la sintassi, i comandi e il paradigma di programmazione orientata agli oggetti, in più mette a disposizione numerose funzioni ad alto livello per gestire facilmente l'aspetto grafico e multimediale. É distribuito sotto licenza Open Source ed è supportato dai sistemi operativi GNU/Linux, Mac OS X e Windows.
Caratteristiche
Il pacchetto, scaricabile gratuitamente dal sito ufficiale mette a disposizione un ambiente di sviluppo integrato (IDE), e le varie creazioni (chiamate sketch) vengono organizzate in uno sketchbook. Ogni sketch contiene in genere, oltre alle classi che lo compongono, una cartella Data in cui viene inserito il materiale multimediale utile all'applicazione, ad esempio immagini, font e file audio. Ogni applicazione creata può inoltre essere esportata come Java applet.
Esempio di Sketch in Processing
In Processing ogni sketch deve contenere almeno una classe principale, in cui sarà presente una funzione setup e una funzione draw, dove la prima viene eseguita solo una volta al lancio dell'applicazione, mentre la seconda viene eseguita per ogni frame.
// 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, in questo caso due float che indicano rispettivamente lo spostamento x e y. Nel metodo setup, vengono settati diversi parametri, size indica le dimensioni della finestra dell'applicazione, smooth servirà invece per applicare l'Antialiasing ad eventuali primitive e figure all'interno dell'applicazione, la seconda riga del setup serve invece a creare una nuova istanza di PFont che in processing rappresenta font da utilizzare all'interno dell'applicazione, esso viene prima caricato tramite il metodo loadFont e in seguito viene adottato per il testo nella riga successiva.
In draw viene prima impostato il background, ovvero lo sfondo, che deve essere reimpostato a ogni frame, altrimenti le animazioni verranno letteralmente impresse sullo sfondo, se esso non viene reimpostato. text permette invece di far comparire un messaggio nell'applicazione, che adotterà il font scelto in draw, e verrà scritto a partire dalle coordinate 'xoffset' e 'yoffset', successivamente incrementate, dando così l'effetto finale di un testo da in alto a sinistra di muove fino in basso a destra.
Mobile Processing
È presente inoltre uno Spin-off del progetto, chiamato Mobile Processing, che consente di creare applicazioni per telefoni cellulari e palmari che utilizzano la tecnologia Java, sfruttando il Sun Java Wireless Toolkit.