È molto chiaro che direzione stia prendendo, già da qualche anno in realtà, la tecnologia per lo sviluppo di applicazioni mobile. I linguaggi si sono alleggeriti, pur mantenendo solide basi sulla vecchia foundation, e la costruzione di UI complesse avviene direttamente nel codice. La separazione dei layout dalle istruzioni è sempre meno netta e si sta amalgamando con approcci più o meno simili, basta vedere SwiftUI e Flutter.

Ho dato uno sguardo a SwiftUI nell’ultima versione disponibile e devo dire che sviluppare con questo framework è estremamente piacevole. Tutte le architetture viste negli anni scorsi probabilmente smetteranno di avere senso lasciando il posto ad altre, ma non è necessariamente un male. Rimane un dubbio però atroce da sbrogliare il più presto possibile: vale la pena, per uno sviluppatore che si interessa sia di Android che di iOS, studiare SwiftUI? Non è più conveniente imparare bene Flutter e scrivere apps che funzionano sia di qua che di là?

Purtroppo nonostante gli sforzi credo che la separazione tra sviluppatori iOS e sviluppatori Android sia destinata a restare ancora per un bel po’. La vera rivoluzione sarebbe uno SwiftUI che funzioni anche su Android, ma la cosa è letteralmente impossibile per lo stretto legame che Swift ha con Obj-C e le librerie Apple.

La mia decisione è quella, per ora, di continuare a studiare e scrivere componenti per Flutter e la scelta è stata guidata anche dalla compatibilità, sempre migliore, con le apps desktop e il web.