Programmare in SwiftUI

di Costantino Pistagna

SwiftUI segna sicuramente l'inizio di un nuovo capitolo nella storia dello sviluppo in casa Apple. Da anni assistiamo al proliferare di frameworks basati sul concetto di interfacce dichiarative; il web è un esempio lampante di questo fenomeno, ma non mancano esempi illustri nell'ambito dello sviluppo mobile. Siamo continuamente bombardati da messaggi di marketing che affermano come:


"mantenere una unica codebase per tutte le piattaforme è il modo migliore per aumentare la produttività aziendale e fornire soluzioni coese ai nostri clienti."

React Native (Facebook) e Flutter (Google) sono un esempio eccellente di questa proposizione. Non è scopo di questo articolo fare un'analisi comparativa di queste tecnologie; il punto per cui sono stati citati questi due esempi è per dimostrare come la tendenza del software degli ultimi anni si stia muovendo verso direzioni diverse da quelle a cui siamo stati abituati sino ad ora.

I nostri dispositivi sono sempre più potenti e questa potenza trova un suo naturale collocamento in interfacce e paradigmi di interazione sempre più sofisticati e complessi. L'anno scorso scrissi un pezzo a proposito dell'uscita di iPhone X e della sensazione di fluidità che questo nuovo dispositivo, unito alle ultime scelte stilistiche di iOS 11 e 12, mi avevano suscitato.

Animazioni fluide, continue e consistenti, gestures fuse all'interno dell'esperienza di navigazione. Sono solo alcuni degli esempi di quanto sto cercando di trasmettervi: l'asticella dell'aspettativa si è alzata ancora una volta e queste nuove caratteristiche non sono facilmente esprimibili con un framework tradizionale.


 La natura discreta dei linguaggi imperativi si trova 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 compilare) relativamente ai propri ambienti di svilippo ed, in generale, rispetto 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à stato 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 controllers mediavano tra viste e modelli. Tutto quello che abbiamo in SwiftUI è uno stato ed una view derivata dallo stato. Non appena lo stato cambia, SwiftUI ricostruisce l'interfaccia tenendo conto di questi cambiamenti.

Quelli che seguiranno sono i nostri personali appunti di viaggio, durante lo studio di questo framework così nuovo e, per certi versi, misterioso. Abbiamo ritenuto utile condividere queste informazioni con tutti voi nella speranza che possano essere un punto di inizio per imparare qualcosa di veramente entusiasmante.

--Buon viaggio!

Prossimo articolo: SwiftUI - L'oggetto View

© Copyright 2019 Sofapps - All Rights Reserved - VAT 05197020877