Il
testo oggetto della recensione è un manuale di oltre ottocento pagine, in lingua inglese, dedicato allo sviluppo di applicazioni per iOS 5, quindi per iPhone, iPod e iPad. Il
formato utilizzato per la redazione del testo è quello dei libri di ricette, per cui gli argomenti trattati sono presentati nel contesto di un problema da risolvere, di cui viene fornita la soluzione. Questa scelta consente di fornire al lettore/sviluppatore, una serie di
soluzioni preconfezionate a problemi specifici; nel testo in esame, però, questo approccio risulta talvolta un po’ forzato, in quanto il problema da risolvere, spesso, non è altro che un nuovo argomento da introdurre al lettore. Nella
prefazione l’autore indica il testo come non adatto ai programmatori neofiti; in realtà, visto il tenore delle ricette presentate, soprattutto nelle prime pagine, vengono esclusi solo coloro che non hanno mai programmato prima in nessun linguaggio, poiché anche chi non avesse mai scritto un’applicazione per iOS troverebbe comunque nel testo un percorso abbastanza semplice per l’apprendimento delle nozioni necessarie allo sviluppo per iOS.
L’autore del testo è
Vandad Nahavandipoor, un esperto nello sviluppo di applicazioni mobile, e quella recensita è la seconda edizione del testo, aggiornata all’ultima release disponibile.Il libro è organizzato in
17 capitoli, senza alcuna divisione in sezioni. Ogni ricetta è composta da un problema, una soluzione e una discussione, più eventuali riferimenti ad altre sezioni del testo. Il problema è solitamente espresso in una singola frase, mentre la discussione contiene, quasi completamente, gli argomenti da trattare e i relativi approfondimenti.
Il
primo capitolo copre le basi dellambiente di sviluppo, mostrando come creare una nuova applicazione con
Xcode e introducendo i rudimenti di base del linguaggio (variabili, cicli, espressioni condizionali, classi), per un totale di trenta ricette.
Il
secondo capitolo introduce i primi elementi dell’interfaccia grafica e i controlli di input con cui l’utente può interagire, dedicando una ricetta per l’utilizzo di ogni componente, per un totale di ventiquattro.
Il
terzo capitolo è completamente dedicato all’utilizzo delle
table view per la definizione dell’interfaccia utente, mentre nel
quarto capitolo viene introdotto l’utilizzo delle
storyboard per consentire di definire la connessione fra le differenti viste dell’applicazione.
Il
quinto capitolo introduce gli aspetti legati alla concorrenza, trattando dei
block object e dell’utilizzo del
Grand Central Dispatch (GCD). Nel capitolo trovano posto anche le
operation, i
timer e i
thread.
Il
sesto capitolo illustra il framework
Core Location and Maps, che consente lo sviluppo di applicazioni che integrano l’utilizzo di mappe e l’accesso alla posizione del dispositivo.
Il
settimo capitolo racchiude le informazioni necessarie al riconoscimento dei gesti effettuati dall’utente sulla superficie touch del dispositivo per interagire con l’applicazione. Le sei ricette del capitolo sono dedicate ciascuna al riconoscimento di un differente tipo di
gesture predefinito del framework.
L’
ottavo capitolo affronta la connessione delle applicazioni con servizi internet, approfondendo inoltre la serializzazione e deserializzazione di oggetti JSON, l’utilizzo di XML e la connettività con Twitter. Il
capitolo nono è dedicato all’interazione multimediale, ossia alla gestione di audio e video all’interno delle proprie applicazioni, mostrando come riprodurre e registrare audio e video e accedere alla libreria musicale. Il
decimo capitolo è dedicato all’interazione con la rubrica del dispositivo, mentre il
capitolo undicesimo affronta la gestione della fotocamera e della libreria di foto e video.
Nel
dodicesimo capitolo l’argomento trattato è il multitasking, con le problematiche relative alla gestione degli eventi mentre l’applicazione gira in background, come il cambiamento delle impostazioni di configurazione dell’applicazione, la gestione delle notifiche e delle connessioni.
Il
tredicesimo capitolo illustra il framework
Core Data, che consente agli sviluppatori di memorizzare e gestire dati utilizzando un’interazione completamente
object-oriented. Il
capitolo quattordicesimo approfondisce i framework
Event Kit ed
Event Kit UI, che consentono la gestione degli eventi e del corrispondente calendario. Il
quindicesimo capitolo è dedicato alla gestione di grafica e animazioni, mostrando l’utilizzo delle classi base per la gestione di testo, colori, immagini, linee, che poi vengono animate.
Nel
sedicesimo capitolo viene illustrato l’utilizzo dell’accelerometro e del giroscopio presente nei dispositivi all’interno delle proprie applicazioni; il
diciassettesimo capitolo spiega come far interagire la propria applicazione con il servizio
iCloud.