Nelle ultime settimane ho manifestato l’intenzione d’imparare a programmare davvero: dopo la scelta del linguaggio, ricaduta su Java per una serie di motivazioni che ho già spiegato, ho realizzato ed eseguito il primo programma che convenzionalmente è hello, world. Non diventerò certo un programmatore entro la fine delle vacanze di Natale, ma in queste righe riassumo dei suggerimenti utili a chi vorrebbe fare altrettanto. In un certo senso, il prossimo passaggio consiste nel copiare le applicazioni create e pubblicate da altri.

Non scandalizzatevi perché copiano tutti, anche i programmatori più esperti, e non è affatto un errore. Quando ho iniziato a realizzare dei siti web, infatti, ho cominciato proprio leggendo i sorgenti degli altri e adattandoli alle mie esigenze. Continuo a farlo tuttora, con una maggiore consapevolezza, se devo risolvere un problema che terzi hanno già affrontato. Alcuni arrivano persino a copiare e incollare intere sezioni del codice altrui per pigrizia: io preferisco perfezionarlo o, meglio, arrivare alla soluzione a modo mio.

Col markup dei siti è un’operazione semplicissima, perché basta chiedere al browser di mostrare i sorgenti: quando si tratta d’applicazioni, il procedimento potrebbe richiedere più tempo o non essere possibile del tutto. Per fortuna, il successo dell’open source ha convinto un numero sempre maggiore di programmatori a condividere i risultati del proprio lavoro e trovare delle applicazioni in Java da esplorare e modificare non è un problema. Magari, recupererete proprio quella che state utilizzando su uno smartphone con Android.

L’ostacolo maggiore non è rintracciare un’applicazione, ma trovarne una abbastanza semplice perché il funzionamento sia comprensibile. Ho parlato di Android perché utilizza Java come linguaggio “nativo”: dubito, però, che in questa fase riuscirei a capire la struttura delle applicazioni distribuite su Google Play. Studio da troppo poco per modificare dei sorgenti così complessi. E, allora, su cos’è meglio concentrarsi? Cercando qua e là ho pensato ai widget che rappresentano una specie di base per le applicazioni più complesse.

Un widget non è un programma, bensì una maschera che permette di visualizzare le informazioni provviste dalla nostra applicazione. Trattandosi di Java, non occorre preoccuparsi dei toolkit grafici del sistema operativo sul quale mostrarlo perché s’adatta automaticamente all’interfaccia dell’ambiente. Tornando ad Android, è più semplice capire cosa visualizzi un widget che ricostruire il funzionamento di un’intera applicazione: Google ricorre a SWT, uno standard mantenuto da Eclipse per guidare la generazione dei widget con Java.

Questa volta, ahimè, sono dovuto ricorrere a un IDE: ne avevo sconsigliata l’installazione nella prima fase dell’apprendimento, ma è fondamentale per fare il salto di qualità. Se avevo suggerito Eclipse anziché NetBeans è stato proprio perché Android e altre piattaforme tra le più diffuse lo prediligono. Installato l’IDE e importato il plugin di SWT, è possibile creare un widget dai sorgenti di HelloWorld.app realizzata la settimana scorsa oppure leggere e modificare quelli più complessi integrati nelle applicazioni di Android.

Photo Credit: Niels Heidenreich via Photo Pin (CC)