Hai imparato molto nelle ultime cinque settimane, cavalletta, e potresti anche sentirti un po 'sopraffatto a questo punto. Mi piacerebbe lasciarvi con alcuni consigli e un sacco di risorse per tenervi in pista per diventare uno sviluppatore iOS abile.
Anche se il 2007 sembra ieri, lo spazio mobile e iOS in particolare sono cresciuti ad un ritmo incredibile. È difficile immaginare il panorama mobile senza iPhone, iPad e iPod Touch. Come risultato della notevole crescita e popolarità della piattaforma iOS, non mancano libri, video, corsi e blog che ti guidino nella tua ricerca per diventare uno sviluppatore iOS esperto.
Il materiale che abbiamo trattato in questa serie dovrebbe averti dato una buona comprensione della piattaforma iOS dal punto di vista dello sviluppatore. Il primo consiglio che vorrei darti è continuare a costruire applicazioni iOS. Non aspettare fino a quando non pensi di sapere abbastanza per iniziare a creare quella prima vera applicazione iOS. Imparerai di più creando piccole applicazioni e trovando soluzioni ai problemi che incontri mentre vai. Alla fine, la programmazione è tutta una questione di risoluzione dei problemi. Mi trovo a creare diverse applicazioni ogni settimana. Ciò non significa che ogni applicazione sia degna di pubblicazione nell'App Store, al contrario. Inizio isolando un problema specifico ben definito che fa parte di un progetto più ampio. Creo quindi un nuovo progetto iOS incentrato sulla risoluzione di quell'unico problema. Quando ho trovato e implementato una soluzione al problema, raffino la soluzione con diversi passaggi di refactoring per prepararla all'integrazione nel progetto più ampio. Allo stesso tempo, ho creato un componente riutilizzabile per un uso successivo. Concentrandosi sulla riusabilità, è meno probabile scrivere codice spaghetti e più probabilità di risparmiare tempo su progetti futuri.
Questo approccio è ottimo anche per esplorare nuovi framework o per provare una nuova libreria open source in cui sei incappato. Durante questa serie, abbiamo creato una serie di progetti iOS. Con ogni nuovo progetto, abbiamo imparato qualcosa di nuovo e, lungo la strada, abbiamo acquisito sempre più familiarità con Xcode. Acquisire familiarità con l'ambiente di sviluppo è un altro elemento chiave dello sviluppo di iOS.
Il mio secondo consiglio è di evitare di copiare e incollare frammenti di codice che trovi sul web. A meno che tu non comprenda i frammenti che stai copiando, a lungo termine non ne trarrai beneficio. Certo, potrebbe risolvere temporaneamente un problema con cui stai lottando, ma usando frammenti di codice casuali che non capisci, accumulerai un debito tecnico. Questo non significa che non dovresti includere librerie ben mantenute nei tuoi progetti, come AFNetworking o Magical Record. Inoltre, non significa che dovresti conoscere tutti i dettagli di implementazione di tali librerie. Se si affronta un problema che è possibile risolvere da soli trascorrendo una o due ore per la codifica di una soluzione, allora questo è un tempo ben speso. Lo sviluppo del software non riguarda solo la velocità e l'erogazione dei risultati. A livello personale, lo sviluppo del software sta diventando migliore in ciò che fai, programmando e non diventi un programmatore migliore copiando e incollando parti di codice che non comprendi appieno. Non ci sono scorciatoie per diventare un grande programmatore.
Prima di immergermi nella lista delle risorse utili, voglio menzionare che Envato Tuts + è in circolazione da molti anni e ha sviluppato una serie impressionante di esercitazioni di alta qualità sullo sviluppo di iOS. Quasi 200 tutorial su Tuts + sono specificamente mirati allo sviluppo di iOS, che vanno da argomenti principianti ad avanzati.
Se sei uno sviluppatore iOS registrato, hai accesso ai forum degli sviluppatori Apple. Non solo i forum degli sviluppatori Apple sono attivi e pieni di sviluppatori che conoscono il loro materiale, il framework e gli ingegneri DTS (Developer Technical Support) che gestiscono e monitorano i forum, che a volte possono salvarti la giornata o salvarti un giorno.
Ogni volta che ti ritrovi a utilizzare Google per trovare una risposta a una domanda di programmazione o una soluzione a un problema che stai riscontrando, è probabile che Google ti indicherà Stack Overflow. È giusto dire che Stack Overflow ha rivoluzionato lo sviluppo del software e la comunità degli sviluppatori. Stack Overflow è un ottimo posto per fare domande, ma anche per dare indietro alla comunità aiutando gli altri. Indipendentemente dal linguaggio con cui lavori o dalla piattaforma su cui sviluppi il software, è possibile che Stack Overflow abbia una comunità vivace centrata attorno ai tuoi interessi.
Negli ultimi anni, il social coding è diventato molto popolare e GitHub è sicuramente una delle forze trainanti di questa tendenza. Dato che sei nuovo nello sviluppo di iOS, probabilmente non sarai ancora in grado di contribuire ai progetti open source (iOS). Tuttavia, nulla ti impedisce di esplorare alcuni progetti open source e sfogliare il loro codice sorgente per vedere come alcune cose potrebbero essere fatte. Se vuoi accelerare il tuo apprendimento esplorando il codice scritto da altri sviluppatori, allora è fondamentale scegliere un progetto ben mantenuto e in fase di sviluppo attivo.
Una buona conoscenza del linguaggio C è importante per ogni sviluppatore Cocoa, ma noterai che puoi fare molta strada conoscendo solo le basi del linguaggio C. Col passare del tempo, però, incontrerai pezzi di codice che non comprenderete appieno a meno che non vi immergiate più a fondo nel linguaggio C. La guida definitiva all'apprendimento C è il libro scritto da Brian Kernighan e Dennis Ritchie, The C Programming Language. Come potresti ricordare dall'articolo sull'apprendimento di C, Dennis Ritchie è stato uno dei creatori del linguaggio C. Quale modo migliore per imparare C dalla persona che ha contribuito a creare la lingua? Un altro ottimo libro per l'apprendimento C è Learn C on Mac di Dave Mark.
Sebbene Apple fornisca una guida completa al linguaggio di programmazione Objective-C (Object-Oriented Programming with Objective-C), trovo che non sia l'ideale per le persone che sono nuove a Objective-C e certamente non per le persone nuove a C. Uno dei i migliori libri su Objective-C è il libro scritto da Stephen Kochan, Programming in Objective-C. Assicurati di prendere l'edizione più recente, che tratta anche di Objective-C 2.0.
Inoltre, nel 2010 Dan Walker ha scritto una serie popolare su Tuts + sull'apprendimento di Objective-C. Se vuoi espandere la tua conoscenza di Objective-C, ti incoraggio a dare un'occhiata alla serie di Dan.
Apress e O'Reilly Media sono due case editrici famose per la pubblicazione di libri di alta qualità sullo sviluppo di iOS e lo sviluppo in generale. Due eccellenti pubblicazioni di Apress stanno iniziando lo sviluppo di iOS 7 e lo sviluppo di iOS 6. Entrambe le pubblicazioni sono aggiornate con ogni nuova versione di iOS.
Uno dei primi libri mai scritti sullo sviluppo di Cocoa è Cocoa Programming per Mac OS X. Questo libro è stato scritto e aggiornato da Aaron Hillegass, il fondatore di Big Nerd Ranch. Aaron è molto conosciuto nella comunità di Cocoa e molti sviluppatori hanno imparato lo sviluppo del cacao attraverso i suoi libri, incluso me stesso.
La World Wide Developer's Conference (WWDC) di Apple è il momento clou dell'anno per molti sviluppatori di Cocoa. Ogni presentazione fornita al WWDC è registrata e disponibile il giorno successivo per gli sviluppatori iOS e Mac registrati. La raccolta di video risale al WWDC 2010, quindi hai molto materiale da esaminare.
Negli ultimi anni, un certo numero di college e università hanno iniziato a insegnare lo sviluppo di iOS. Alcuni di questi corsi sono disponibili gratuitamente tramite il programma iTunes U di Apple. Il corso più conosciuto e più lungo è CS193p presso la Standford University. Al Madison Area Technical College, Brad Larson insegna Advanced iPhone Development, che copre anche alcuni argomenti più avanzati. Un altro corso sullo sviluppo di iPhone è stato dato da Jan Borchers presso l'Università di Aquisgrana.
Non dovrebbe sorprenderti quando ti dico che ci sono centinaia se non migliaia di blog dedicati allo sviluppo di iOS. Di seguito ho elencato alcuni dei miei blog preferiti, ma ce ne sono molti altri da scoprire.
Non molto tempo fa, Dave Verwer ha lanciato iOS Dev Weekly, un notiziario settimanale sullo sviluppo di iOS. Se si desidera ricevere un elenco accuratamente curato di collegamenti relativi allo sviluppo di iOS, quindi posso raccomandare caldamente la newsletter di Dave. Ho detto che è gratuito?
Twitter è un mezzo eccellente per rimanere aggiornato sullo sviluppo di iOS e OS X. Ho compilato una breve lista di persone nella twittersfera che potresti voler seguire.
Infine, puoi seguirmi anche su Twitter. Non esitate a chiamarmi se avete una domanda o se volete solo dire ciao.
Spero ti sia piaciuta questa serie sullo sviluppo di iOS tanto quanto mi è piaciuto metterla insieme. Se hai qualche domanda, non esitare a lasciare un commento o a contattarmi su Twitter. Suggerimenti per argomenti futuri possono essere lasciati nei commenti.