# SwiftUI

SwiftUI è un framework per la creazione di interfacce utente (UI) per le applicazioni iOS, iPadOS, macOS, watchOS e tvOS. È stato sviluppato da Apple e presentato per la prima volta nella WWDC 2019 con Xcode 11.
È scritto interamente in Swift, il linguaggio di programmazione anch'esso progettato da Apple (dal 2014), quindi è a sua volta strettamente integrato con il linguaggio di programmazione stesso.
Offre una vasta gamma di componenti predefiniti per la creazione di interfacce utente, come pulsanti, caselle di testo, immagini e altro ancora, che possono essere personalizzati e combinati in modo creativo per creare interfacce utente sofisticate e personalizzate, il che semplifica notevolmente lo sviluppo di app, poiché gli sviluppatori possono concentrarsi sulla descrizione dell'interfaccia utente in termini di componenti e comportamenti, piuttosto che sulle dettagliate istruzioni di codice per creare ogni singolo elemento dell'interfaccia utente.
Il framework è stato progettato per essere facile da imparare e utilizzare per i nuovi sviluppatori, ma anche potente e flessibile per gli sviluppatori esperti. Inoltre, SwiftUI è completamente integrato con le tecnologie di sviluppo di Apple, come Xcode, Interface Builder, e strumenti come Swift, Objective-C e Cocoa Touch, il che lo rende uno strumento potente e versatile per la creazione di applicazioni per le piattaforme Apple.
Di seguito un esempio nella creazione di una lista e il suo risultato finale:

## SwiftUI 1

Come primo rilascio nel 2019, ciò che caratterizza SwiftUI è quanto segue:
* Dichiarazione della UI: gli sviluppatori possono definire la UI attraverso una sintassi dichiarativa, in cui l'interfaccia utente viene descritta attraverso una serie di dichiarazioni. Questo approccio semplifica la creazione di interfacce utente e riduce la quantità di codice necessaria rispetto ai metodi tradizionali.
* Visualizzazione in tempo reale: gli sviluppatori possono vedere le modifiche apportate all'interfaccia utente in tempo reale durante la fase di sviluppo, grazie alla visualizzazione in tempo reale fornita da Xcode.
* Componenti personalizzati: è presente una vasta gamma di componenti predefiniti per la creazione di interfacce utente, ma in ogni caso consente anche di creare componenti personalizzati.
* Animazioni: la creazione di animazioni è semplificata, consentendo agli sviluppatori di specificare animazioni direttamente all'interno della dichiarazione dell'interfaccia utente.
* Preview: è possibile creare anteprime dell'interfaccia utente per visualizzare come apparirà l'applicazione su diversi dispositivi e in diverse modalità.
* Accessibilità: sono presenti funzionalità integrate di accessibilità, che consentono agli sviluppatori di creare applicazioni più accessibili a un pubblico più ampio.
SwiftUI ha introdotto una nuova era per lo sviluppo delle interfacce utente per le applicazioni Apple, semplificando il processo di sviluppo e consentendo agli sviluppatori di creare interfacce utente sofisticate e personalizzate in modo più efficiente.

## SwiftUI 2

SwiftUI 2 è stata rilasciata durante la WWDC 2020 di giugno 2020, insieme a iOS 14, iPadOS 14, macOS Big Sur, watchOS 7 e tvOS 14.

## SwiftUI 3

SwiftUI 3 è stata rilasciata durante la WWDC 2021 di giugno 2021, insieme a iOS 15, iPadOS 15, macOS Monterey, watchOS 8 e tvOS 15.

## SwiftUI 4

SwiftUI 4 è stata rilasciata durante la WWDC 2022 di giugno 2022, insieme a iOS 16, iPadOS 16, macOS Ventura, watchOS 9 e tvOS 16.

## SwiftUI 5

SwiftUI 5 è stata rilasciata durante la WWDC 2023 di giugno 2023, insieme a iOS 17, iPadOS 17, macOS Sonoma, watchOS 10 e tvOS 17.