Introduzione a Cocoa

Dopo essermi a lungo riproposto di farlo, eccomi a scrivere una breve introduzione per quelli che (spero) saranno una lunga serie di articoli riguardo alla programmazione per Mac OS X. Tengo a precisare che anche io sono nuovo in materia e che sto “studiando” per imparare a districarmi con questo affascinante linguaggio. Ciò che mi piace è condividere con chi visita il blog le mie esperienze, perché possano essere d’aiuto anche agli altri. I più esperti perdonino quindi i miei eventuali errori di gioventù e usino qualche minuto del loro tempo per aiutarmi a seguire la strada più opportuna.

Vorrei incominciare questo percorso col dire che il miglior modo per prendere la mano con Cocoa e con la programmazione su Mac OS X è quello di acquistare un buon libro e iniziare a leggerlo. Credo che a questo riguardo il miglior testo di riferimento sulla scena sia Cocoa Programming for Mac OS X di Aaron Hillegass. Non so se ne è disponibile una versione italiana, ma a questo riguardo bisogna dire che se volete intraprendere la strada dell’apprendimento di Cocoa forse è il caso che un’infarinatura di inglese l’abbiate.

Un altro riferimento importante è sicuramente rappresentato dal portale Developer di Apple, al quale è possibile registrarsi gratuitamente su developer.apple.com.

Innanzitutto, prima di iniziare a programmare, verificate che la vostra versione di XCode sia aggiornata a quella più recente disponibile: il pacchetto Developer non è infatti incluso negli aggiornamenti automatici di Software Update e deve essere aggiornato manualmente. Per fare questa verifica aprite XCode (se avete già installato il pacchetto Developer) e cliccate sul menu XCode -> About XCode. Comparirà una finestra come quella che mostro qui sotto:

 

La finestra mostra la versione di XCode

La finestra mostra la versione di XCode

La versione più aggiornata di XCode è disponibile per il download a questo indirizzo (è richiesto avere un account ADC – gratuito): https://developer.apple.com/mac/index.php.

La versione più aggiornata di XCode è la 3.1.2.

Dopo aver aggiornato XCode, siamo pronti a partire.

Innanzitutto, cerchiamo di conoscere le due utility che andremo ad usare più frequentemente: XCode e Interface Builder. XCode è l’IDE che ci permetterà di scrivere il nostro codice, mentre Interface Builder è lo strumento che permette di disegnare le interfacce e collegarle al codice.

Il primo progetto che prepareremo insieme sarà il classico progetto di “Hello World!” che si deve fare all’inizio di ogni corso. L’aspetto molto interessante di Cocoa, e che distingue un po’ questo ambiente di programmazione dai tanti altri ambienti tradizionali, è che per compiere le operazioni più semplici non è necessario scrivere codice. Per il nostro primo progetto sarà proprio così: non scriveremo nemmeno una linea di codice. Certo, il risultato ottenuto non ci permetterà (non ancora) di avere un software che risponda prontamente alle azioni dell’utente, ma è certamente notevole la facilità che si ha nello scrivere questo primo programma.

Apriamo XCode (Applicazioni -> Developer -> Applications -> XCode — oppure cercate XCode con Spotlight) e selezioniamo File -> New Project (⇧⌘N). A questo punto ci verrà mostrata un interfaccia che ci permetterà di scegliere la tipologia di progetto. Dal menù di sinistra scegliamo “Application”, mentre dal menu di destra scegliamo “Cocoa Document-based Application”:

Schermata per la selezione di un nuovo progetto in XCode

Schermata per la selezione di un nuovo progetto in XCode

In seguito dovremo scegliere un nome ed una locazione per il salvataggio del progetto. XCode creerà per noi una cartella dello stesso nome che sceglieremo con tutti i file che il progetto utilizza al suo interno. Chiamiamo il progetto “Hello World” e scegliamo la directory nel quale salvarlo. Una volta confermate queste informazioni comparirà la seguente finestra, che rappresenta l’interfaccia sulla quale ci troveremo più spesso a lavorare.

 

Visualizzazione base per il progetto

Visualizzazione base per il progetto

 

All’interno di questa interfaccia è possibile individuare 4 aree, che ho identificato con 4 diversi colori:

  • Colore blu: Area delle classi. In questa area solitamente (anche se non è vincolante) si dispongono i file contenenti le classi che vengono create ed utilizzate per il progetto.
  • Colore rosso: Area delle risorse. In questa area solitamente (anche in questo caso non è vincolante) si dispongono tutte le risorse che vengono utilizzate dal progetto. Per risorse si intendono tutti i file, icone, file nib e xib (file dell’Interface Builder) che sono utilizzati per il nostro progetto.
  • Colore azzurro: Lista dei file. Selezionando una o più directory o elementi della colonna di sinistra, è possibile visualizzare l’elenco completo dei file selezionati in questa area.
  • Colore giallo: Editor del codice. Questa area permette di editare direttamente da questa finestra un file, che deve essere selezionato dalla Lista dei file.

Seppure per questo semplice progetto non ne avremmo bisogno, è opportuno iniziare a muoversi all’interno di questa finestra e dei suoi menu, perché presto ne avremo bisogno.

Una volta esplorato l’ambiente di lavoro, possiamo passare al completamento del progetto. Per creare una finestra che mostri la scritta “Hello, World!” è sufficiente utilizzare Interface Builder. Facciamo doppio click sul file “MyDocument.xib”, sotto il gruppo “Resources” (colore rosso nell’elenco di prima). Interface Builder si preoccuperà di mostrarci la finestra attuale. Il nostro compito è semplicemente quello di sostituire il testo “Your document contents here” con il nostro “Hello, World!”. Per modificare la stringa, è sufficiente fare doppio click su di essa. È anche possibile modificare la font ed il colore della nostra scritta, semplicemente aprendo il pannello font (Font -> Show Fonts oppure ⌘T) e scegliendo lo stile che si desidera. 

 

Modificare il testo con Interface Builder

Modificare il testo con Interface Builder

 

Una volta effettuata questa operazione salviamo (File -> Save oppure ⌘S) e torniamo ad XCode, dal quale possiamo lanciare la nostra prima applicazione.

Per fare questo possiamo agire in diversi modi:

  • Cliccare sul bottone “Build and go” nella parte alta della finestra
  • Cliccare sulla voce del menu Build -> Build and Go (debug)
  • Usare lo shortcut ⌘↩

Una volta lanciato il progetto notate che intrinsicamente avete già la possibilità di chiudere il documento ed aprirne uno nuovo, o di aprire più documenti contemporaneamente. Il tutto senza aver digitato nemmeno una linea di codice. Bello, no?

Che cosa abbiamo fatto?

Quello che abbiamo fatto è stato sfruttare i template di progetto messi a disposizione da XCode. Questi template sono assai utili e permettono un risparmio considerevole di tempo quando si sviluppano applicazioni reali. Il template “Cocoa Document-based Application” permette di creare applicazioni che siano basate sul documento (come ad esempio sono i documenti come Pages o Numbers) in un modo facile ed intuitivo. Per questo nostro primo progetto, infatti, è stato sufficiente modificare un solo file XIB per ottenere il comportamento desiderato. Ovviamente la bassa complessità del software creato ha semplificato la sua implementazione, ciò nonostante è notevole come in poco tempo siamo stati in grado di creare un software funzionante capace di compiere un numero considerevole di operazioni. Grazie a questo template infatti, è possibile avere un’applicazione già in grado di compiere le operazioni basilari, come l’apertura e la chiusura di nuovi documenti, senza la necessità di intervenire manualmente sul codice.

Interface Builder, inoltre, rende molto semplice la creazione di interfacce grafiche belle e funzionali. La libreria degli oggetti utilizzabili è davvero ampia e facilmente consultabile e questo rende molto facile l’inserimento e la disposizione degli oggetti all’interno dell’interfaccia.

Appena troverò qualche minuto di tempo scriverò la prossima lezione, che parlerà dell’organizzazione delle classi in un’applicazione cocoa e che fornirà un’infarinatura di Objective C, il linguaggio utilizzato da Cocoa.

Nel frattempo ciò che consiglio è sperimentare con quel poco che avete appreso fino ad ora. Un tentativo che potete fare è quello di creare altre applicazioni ed attraverso Interface Builder creare le interfacce grafiche che più vi piacciono. In questo modo potete prendere confidenza con la libreria di Interface Builder e capire meglio dove si trovano gli oggetti che vi troverete ad utilizzare più spesso. Un altro tentativo interessate è quello di creare un’applicazione del tipo “Cocoa Application” e cercare di capire il tipo di differenza che c’è con le applicazioni “Cocoa Document-based Application”. Buon Cocoa a tutti!

Annunci

Una Risposta

  1. Ci voleva proprio una guida comprensibile per cocoa…..a quando le prossime lezioni?

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: