Sviluppare un’applicazione per iOS

Sono passati poco più di 6 anni da quando Apple ha rilasciato il primo l’SDK e da allora le cose sono cambiate molto.

Sviluppare un’applicazione per iOS oggi infatti non è come nel 2008. In questi anni si sono aggiunti nuovi dispositivi con differenze hardware sostanziali, il sistema operativo ha fatto grandissimi cambiamenti, anche a livello grafico e di user experience. Per non parlare di tutti i problemi di sicurezza nati e per i quali sono state creati appositi comportamenti.

Insomma, le cose sono cambiate drasticamente.

Apple sta facendo di tutti per aiutarci. Con il tool di sviluppo XCode e con tutte le API che introduce puntualmente ad ogni release.

Nonostante tutto lo sviluppo si è complicato, ci sono maggiori dettagli da non sottovalutare assolutamente.

  • La richiesta delle autorizzazioni per:
    • Location
    • Motion
    • Calendario
    • Promemoria
    • Notifications (push e local)
    • Foto
    • Contatti
    • Bluetooth
    • Microfono
    • HealthKit
    • HomeKit
  • L’uso dei social interni come:
    • Facebook
    • Twitter
    • Flickr
    • Vimeo
  • La scelta se utilizzare il framework di iOS per Facebook o l’SDK di Facebook stesso.
  • L’utilizzo di SchemeURL.
  • L’uso di Launch images adeguate per supportare tutti i device.
  • L’uso di Size Classes per supportare i device con schermi differenti.
  • L’implementazione di Welcome views per la spiegazione e l’attivazione dei servizi da autorizzare.

Questi sono solo alcuni dei punti da dover tenere di conto. Poi ci sono tutte quelle sfumature legate alle UI/UX (User Interface/User Experience) come l’utilizzo di interfacce proprietarie.

Dopo di che c’è da tenere conto del nuovo sistema di transizione (TransitionCoordinator) delle view. E’ vero che adesso possiamo personalizzare ogni genere di animazione ma è altrettanto vero che questo tipo di ingegnerizzazione tende a complicare e rendere difficile lo sviluppo e la futura manutenzione.

Poi c’è la parte di test e debug. Il simulatore di iOS è uno strumento davvero completo, ma alcune funzionalità necessitano di test sul device. Ad esempio tutto ciò che riguarda la fotocamera, il GPS e il Motion non sono pienamente o per niente (dipende dai casi) supportati dal simulatore e quindi è necessario avere vari dispositivi per testare l’app.

Ma non solo, infatti può capitare di avere un comportamento sul simulatore e ritrovarsi con un comportamento differente sul device, per questo è necessario avere sempre a portata di mano qualche device di test.

Di cose da tenere in considerazione ce ne sono davvero molte, questo è solo l’1%.

Quindi posso affermare che oggi è molto più complesso e richiede molto più tempo sviluppare un’app per iOS che nel 2008.
La forza sta sicuramente nell’avere tanta esperienza così da riuscire a valutare velocemente tutti i problemi. Ed ovviamente una base di codice riutilizzabile :)

Buon lavoro a tutti!

Leave a Reply

*

Next ArticleCome notificare messaggi con NSNotificationCenter