Programmare in SwiftUI: introduzione
Perché SwiftUI segna una rottura con UIKit e con MVC: un framework dichiarativo in cui l'interfaccia deriva dallo stato. Gli appunti che aprono una serie.
Tradotto dall’inglese con l’aiuto dell’IA e rivisto dall’autore.Leggi l’originale

SwiftUI segna sicuramente l'inizio di un nuovo capitolo nella storia dello sviluppo in casa Apple. Da anni assistiamo al proliferare di framework basati sul concetto di interfacce dichiarative: il web ne è un esempio lampante, ma non mancano esempi illustri nello sviluppo mobile. Siamo continuamente bombardati da messaggi di marketing che affermano come:
"mantenere un'unica codebase per tutte le piattaforme è il modo migliore per aumentare la produttività aziendale e fornire soluzioni efficaci ai nostri clienti."
React Native (Facebook) e Flutter (Google) sono un esempio eccellente di questa proposta. Non è scopo di questo articolo fare un'analisi comparativa di queste tecnologie: ho citato questi due esempi per mostrare come la tendenza del software negli ultimi anni si stia muovendo in direzioni diverse da quelle a cui siamo stati abituati finora.
I nostri dispositivi sono sempre più potenti e questa potenza trova la sua naturale collocazione in interfacce e paradigmi di interazione sempre più sofisticati e complessi. L'anno scorso scrissi un pezzo sull'uscita di iPhone X e sulla sensazione di fluidità che questo nuovo dispositivo, unito alle ultime scelte stilistiche di iOS 11 e 12, mi aveva suscitato.
Animazioni fluide, continue e coerenti, gesture fuse nell'esperienza di navigazione. Sono solo alcuni esempi di quello che sto cercando di trasmettervi: l'asticella delle aspettative si è alzata ancora una volta e queste nuove caratteristiche non sono facilmente esprimibili con un framework tradizionale.
"La natura discreta dei linguaggi imperativi è in forte difficoltà, rispetto al senso di continuità e fluidità imposto dalle nuove interfacce."
Apple è sempre stata una società molto conservativa (Objective-C continua a funzionare e a compilare senza problemi) riguardo ai propri ambienti di sviluppo e, in generale, a tutto il suo ecosistema. L'introduzione di Swift, 5 anni fa, con i suoi nuovi paradigmi e la sua sferzata di modernità era già stata un grosso segnale di cambiamento da parte di Cupertino. Ma era chiaro che non bastava. Così, a sorpresa per tutti, ecco arrivare la risposta di Apple agli altri colossi del web: SwiftUI.
SwiftUI è un framework dichiarativo orientato ai componenti. Dimentichiamoci, dunque, del pattern MVC, dove i controller facevano da mediatori tra view e modelli. Tutto quello che abbiamo in SwiftUI è uno stato e una view derivata dallo stato. Non appena lo stato cambia, SwiftUI ricostruisce l'interfaccia tenendo conto delle modifiche.
Quelli che seguono sono i nostri appunti di viaggio personali, presi durante lo studio di questo framework così nuovo e, per certi versi, misterioso. Abbiamo ritenuto utile condividerli con tutti voi, nella speranza che siano un punto di partenza per imparare qualcosa di davvero entusiasmante.
--Buon viaggio!
