Programmare con SwiftUI
Perché SwiftUI segna una svolta per le piattaforme Apple: un framework dichiarativo in cui l'interfaccia deriva dallo stato, e cosa cambia rispetto a MVC.
Tradotto dall’inglese con l’aiuto dell’IA e rivisto dall’autore.Leggi l’originale

SwiftUI segna senza dubbio l'inizio di una nuova era nella storia della programmazione Apple. Negli ultimi anni abbiamo visto moltiplicarsi i framework basati sull'idea di interfacce dichiarative e di programmazione reattiva. Il web ne è l'esempio più evidente, ma non mancano casi importanti anche nello sviluppo mobile. Siamo continuamente bombardati da messaggi di marketing secondo cui:
mantenere un'unica codebase per tutte le piattaforme è il modo migliore per aumentare la produttività aziendale e offrire soluzioni efficaci ai nostri clienti.
React Native (Facebook) e Flutter (Google) sono un ottimo esempio di questa proposta. Non è lo scopo di questo articolo confrontare queste tecnologie: ho citato i due esempi per mostrare come la tendenza del software negli ultimi anni stia andando in direzioni diverse da quelle a cui siamo stati abituati finora.
I nostri dispositivi sono sempre più potenti, e questa potenza trova il suo posto naturale in interfacce e paradigmi di interazione sempre più sofisticati e complessi. L'anno scorso ho scritto un pezzo sull'uscita di iPhone X e sulla sensazione di fluidità che questo nuovo dispositivo, insieme alle ultime scelte stilistiche di iOS 11 e 12, mi aveva lasciato.
Animazioni morbide, continue e coerenti, gesture integrate nell'esperienza di navigazione. Sono solo alcuni esempi di ciò che voglio dire: l'asticella delle aspettative si è alzata ancora una volta, e queste novità non si esprimono facilmente con un framework tradizionale.
La natura discreta dei linguaggi imperativi fatica a reggere il confronto con il senso di continuità e fluidità imposto dai nuovi paradigmi di interfaccia.
Apple è sempre stata un'azienda molto conservatrice (Objective-C continua a funzionare e a compilare benissimo) per quanto riguarda i suoi ambienti di sviluppo e, in generale, l'intero ecosistema.
L'introduzione di Swift cinque anni fa, con i suoi nuovi paradigmi e il suo slancio di modernità, era già stato un grande segnale di cambiamento da parte di Cupertino. Ma era chiaro che non bastava. Così, a sorpresa per tutti, arriva la risposta di Apple agli altri giganti del web: SwiftUI.

SwiftUI è un framework dichiarativo orientato ai componenti. Dimentichiamo quindi il pattern MVC, in cui i controller facevano da mediatori tra view e model. In SwiftUI abbiamo solo uno stato e una view derivata dallo stato. Non appena lo stato cambia, SwiftUI ricostruisce l'interfaccia tenendo conto delle modifiche.
In una serie di post cercherò di condividere i miei pensieri e i miei appunti di viaggio personali durante lo studio di questo framework nuovo e, per certi versi, misterioso.
Ho pensato che potesse essere utile, nella speranza che sia un punto di partenza per imparare qualcosa di nuovo e davvero entusiasmante.
Happy Coding!
