Nel capitolo precedente abbiamo illustrato come scaricare ed installare gli strumenti di lavoro di cui abbiamo bisogno. Facciamo adesso una breve panoramica sui linguaggi e sugli strumenti di lavoro che andremo ad utilizzare in questa guida:
Objective C
E’ il linguaggio di programmazione con il quale si realizzano applicazioni su piattaforma iOS e per applicativi desktop su piattaforma Mac OS.
Objective C è un linguaggio orientato agli oggetti che, sostanzialmente, è un’estensione del linguaccio C. Le prime versioni di Objective C risalgono ai primi anni 80 e, dopo l’acquisto della licenza del linguaggio da parte della società NeXT (fondata da Steve Jobs dopo Apple), questo linguaggio venne ulteriormente migliorato ed integrato di nuovi strumenti. Dopo l’acuisto di NeXT da parte di Apple l’Objective C divenne il linguaggio su cui si basano tutte le applicazioni fornite dalla casa di Cupertino.
XCode
E’ un IDE di sviluppo che aiuta gli sviluppatori a scrivere il codice. Come ogni IDE, XCode effettua delle colorazioni diverse per i vari costrutti e mette a disposizione un sistema di autocompletamento del codice estremamente efficiente.
Una volta preso confidenza con questo IDE, sfruttando l’autocompletamento, è possibile scrivere molte linee di codice in pochissimo tempo. L’autocompletamento, inoltre, è un ottimo strumento per verificare se ciò che vogliamo fare è corretto o meno. Per esempio, se vogliamo accedere ad un certo attributo di una classe e vediamo che l’autocompletamento non ci mostra tale attributo, ciò vuol dire che non abbiamo impostato le funzioni di set e get in maniera appropriata e dunque potremo rimediare rapidamente all’errore.
XCode ci offre la possibilità di creare progetti partendo da template: sarà possibile, infatti, scegliere il template opportuno per l’applicazione che desideriamo realizzare.
Al suo interno, ancora, questo IDE di sviluppo incorpora un compilatore gcc e dunque sarà possibile compilare anche progetti scritti, oltre che in linguaggio Objective C, anche in C e C++.
iPhone Simulator
Non è altro che un simulatore di un dispositivo come un iPhone o un iPod Touch.
Utilizzando questo strumento possiamo programmare per questi dispositivi senza realmente possederne uno fisicamente. E’ possibile anche testare il comportamento della nostra applicazione in seguito alla rotazione in orizzontale del dispositivo oppure simulando il gesto agita.
Il simulatore è un ottimo strumento di testing per le applicazioni, ma nel caso in cui si decida di distribuire al pubblico l’applicazione realizzata è consigliabile effettuare dei test approfonditi anche su sistemi reali come un iPhone, questo perchè non è possibile, sul simulatore, sfruttare le funzionalità dell’accelerometro o del giroscopio, funzionalità che vengono implementate in tantissime applicazioni presenti sull’App Store.
Interface Builder
E’ uno strumento veramente potente che permette di realizzare interfacce grafiche per applicativi MAC OS e iOS in maniera facile ed intuitiva.
Il primo rilascio di Interface Builder risale al 1988. Anch’esso prodotto dalla NeXT, Interface Builder rappresenta uno dei primi applicativi commerciali che permettavano la costruzione di interfacce grafiche utilizzando esclusivamente il mouse e senza scrivere codice sorgente.
Utilizzando questo programma è sufficiente trascinare e posizionare i vari elementi a disposizione (pulsanti, immagini, tab bar e molto altro) per ottenere delle interfacce grafiche, anche di notevole complessità, senza dover scrivere una riga di codice (le interfacce vengono salvate in file con estensione .xib).
Interface Builder, comunque, deve essere visto come uno strumento che velocizza lo sviluppo dell’applicazione ma non può (e non deve!) sostituire lo sviluppatore nella scrittura del codice sorgente in quanto, se si vogliono realizzare applicazioni di un certo livello, dovremo necessariamente far interagire il codice sorgente con l’interfaccia grafica prodotta.
A questo punto abbiamo descritto, in maniera sintetica, gli argomenti che andremo a trattare in questa guida. Nei prossimi capitoli andremo a presentare una panoramica sulla struttura dei sistemi iOS, la sintassi e le peculiarità dell’Objective C ed analizzarando applicazioni di esempio utilizzeremo Interface builder e Xcode.