Swift o Objective C: quale scegliere?

Giulio
chiede

Vorrei iniziare a sviluppare app per iOS, ma non ho capito quali tecnologie dovrei approfondire. Ho visto che serve conoscere un po’ di XML, ma per quanto riguarda i linguaggi di programmazione, non capisco se è meglio usare Objective C oppure Swift. Quale linguaggio dovrei scegliere?

Vito Gentile
risponde

Durante i primi anni di vita di dispositivi quali iPhone ed iPad, tutti basati su iOS, Apple permetteva agli sviluppatori di app di utilizzare soltanto il linguaggio Objective C. Questo linguaggio, in parte derivato da C/C++, è molto potente, ma è stato spesso criticato per la sua verbosità e la sintassi talvolta poco intuitiva.

Per superare questo tipo di limitazioni, durante il WWDC del 2014, Apple ha quindi rilasciato Swift, un linguaggio molto diverso rispetto al suo predecessore, ma ugualmente potente. Sebbene Swift sia stato pensato per coesistere con Objective C, è lecito chiedersi quale sia la scelta migliore nel caso in cui si voglia iniziare a sviluppare app per iOS.

Oggi, molte app vengono ancora sviluppato in Objective C (soprattutto quelle il cui ciclo di sviluppo è iniziato più indietro nel tempo), ma il trend relativo all’uso di Swift è in evidente crescita. Inoltre, per come è stato progettato, Swift è pensato per essere più semplice da usare, ed è quindi più indicato per chi vuole iniziare oggi a sviluppare app per iOS. Ciò non vuol dire, comunque, che Objective C sia inutile o obsoleto: è semplicemente più complicato da imparare, ma può risultare più potente di Swift nel caso in cui si vogliano sviluppare soluzione di più basso livello (grazie alla possibilità di linkare codice C++ ad Objective C, realizzando il cosiddetto Objective C++).

Su HTML.it, è possibile trovare sia la guida al linguaggio Objective C, che la guida al linguaggio Swift. È inoltre disponibile una guida alla creazione delle app per iOS, che comprende alcune informazioni aggiuntive.