
È passato poco meno di un anno da quando Apple ha presentato, nel corso del WWDC 2014, il nuovo linguaggio di programmazione Swift. La comunità di sviluppatori ha accolto, come sempre, questa grossa novità con notevole entusiasmo e si sono moltiplicate online le risorse utili per chi vuole iniziare ad usare questo linguaggio. Swift ha incuriosito anche molti nuovi utenti che vedono in questo nuovo linguaggio una buona, e più semplice, occasione per iniziare a sviluppare applicazioni per iOS.
La prima domanda che forse ci siamo sentiti rivolgere è più o meno:
Posso iniziare a fare applicazioni per iOS senza conoscere Objective-C?
Devo ammettere con estrema umiltà che non mi è facile dare una risposta, nella mia vita da informatico mi è capitato soltanto una volta di assistere alla nascita di un nuovo linguaggio di programmazione, quando da VB6 si è passati a VB.net e quello era un contesto completamente diverso.
In rete spopolano gli articoli di chi dice che “no, non è possibile conoscere solo Swift e ignorare Objective-c” adducendo le motivazioni più ragionevoli, come la necessità di utilizzare librerie “vecchie” scritte in objective-c o la necessità di mantenere applicazioni con una code-base Objective-c, ma è anche vero che ho visto tante applicazioni fatte da persone che non conoscono neanche l’Objective-C, segno che esiste una soglia di complessità al di sotto della quale non è necessario avere chissà quali skills.
La mia personale opinione è che chi fa questa domanda sottovaluta che il problema principale non è conoscere questo o quel linguaggio, ma che per realizzare un’applicazione è necessario sapere come funziona la piattaforma. È molto più difficile passare dal fare applicazioni con il linear layout (android) ad applicazioni con AutoLayout (iSO) che passare da Java a Obj-c.
Documetazione ufficiale
Iniziamo con la documentazione ufficiale: nel giorno del WWDC Apple ha rilasciato anche un paio di eBook su Swift liberamente scaricabili dall’iBook store, li trovate qui:
Da non perdere, anche se adesso un po’ vecchi visto che il linguaggio si è parzialmente evoluto, i video della presentazione del lingaggio
- Introduction to Swift
- Intermediate Swift
- Advanced Swift
- Advanced Swift Debugging in LLDB
Tutti i video sono disponibili a questo indirizzo link
Qualche libro
Non mancano ovviamente libri di tutte le case editrici. Se come me apprezzate i libri Apress, a questo indirizzo ci sono già diversi titoli a catalogo, anche se nessuno veramente avanzato. Si parte da Swift for Absolute Beginners fino a Migrating to Swift from Android (cosa avranno poi di così speciale di dev Android da richiedere un testo specifico?)
Nel campo negli editori indipendenti non possiamo non linkare i libri.. anzi i TOMI di raywenderlich.com Swift by Tutorial e iOS 8 by Tutorials
Il libro Functional Programming in Swift merita una nota a parte, perché il cui scopo è mostrare come, sebbene Swift non sia un linguaggio puramente funzionale, grazie alla semplicità con cui si possono trattare le First Order Functions sia possibile utilizzare molti dei costrutti tipici di questo paradigma di programmazione.
Il libro è interessante e lo sto leggendo proprio in questi giorni. Uno degli autori, Chris Eidhof è un tizio conosciuto nel mondo Haskell ed ha davvero il pallino per la programmazione funzionale, potete trovare una sua presentazione qui dove tra l’altro riprende alcuni concetti espressi nei primi capitoli del libro.
Video tutorial
Ho già suggerito altrove i video tutorial realizzati da Ben Scheirman, disponibili sul sito nsscreencast.com. La sottoscrizione costa 9 dollari al mese e partendo dal video #125 l’autore ha iniziato ad usare Swift per i suoi video.
Un altro sito dove trovare video tutorial è tuts+ dove potete acquistare il corso per 15$. Io ho avuto modo di vedere qualche episodio del corso ed è molto basilare, inoltre non affronta gli argomenti più funzionali di questo linguaggio, quindi è consigliato soltanto a che è proprio alle prime armi.
Risorse online
Ed eccoci alla lista di siti più o meno utili da aggiungere ai vostri bookmarks, sotto ciascun sito riporto la descrizione ufficiale
Swift toolbox is a community-supported catalog of iOS and OSX libraries written in the Swift Programming Language.
How do the Objective-C patterns we already know translate into Swift?
https://github.com/matteocrippa/awesome-swift
A collaborative list of awesome Swift resources,inspired by awesome-python and listed on awesome-awesomeness.
A periodical about best practices and advanced techniques for iOS and OS X development.
E last but not least, https://github.com/ignazioc/SwiftTodoApp 😉 un piccolissimo esempio di applicazione scritta in swift, si tratta di una todo-app minimalista…termine comune per dire che non ho avuto tempo e voglia di aggiungere altre funzioni.
Spero che abbiate trovato in questo articolo qualche spunto interessante per iniziare o continuare il vostro studio di Swift.
Happy coding!
2 Responses to “Impariamo a programmare in Swift”
18 Marzo 2015
neronorxMa perché la mia mente si rifiuta di imparare questo linguaggio? non mi vien voglia nemmeno di dargli una sbirciata!
26 Settembre 2015
StefanoIo mi sono trovato particolarmente bene con il “Swift per iOS8 Guida per lo sviluppatore” O’Reilly tradotto da Hoepli, Neuburg è davvero un ottimo autore di programmazione. Finalmente un testo perfetto per porre le basi della programmazione in Swift, i pattern di delegation e notification di Cocoa e i cicli di retain
Ciao