Vai al contenuto

SwiftUI

SwiftUI è il framework di Apple per creare interfacce utente in modo dichiarativo. Con SwiftUI descriviamo come deve apparire l’interfaccia in base ai dati, e il sistema aggiorna automaticamente la UI quando quei dati cambiano. Questo approccio rende il codice più leggibile, modulare e adatto a creare applicazioni moderne per iPhone, iPad, Mac, Apple Watch e Apple TV.

Differenze tra SwiftUI e UIKit

Approccio dichiarativo vs imperativo SwiftUI usa un approccio dichiarativo: descriviamo viste, stato e relazioni tra i componenti. UIKit usa un approccio più imperativo: lo sviluppatore crea e aggiorna manualmente molti elementi dell’interfaccia e ne gestisce direttamente più aspetti del ciclo di vita.

Composizione delle view In SwiftUI l’interfaccia è costruita componendo viste piccole e riutilizzabili. Questo favorisce il riutilizzo del codice e rende più semplice mantenere il progetto nel tempo.

Gestione dello stato SwiftUI aggiorna automaticamente l’interfaccia quando cambia lo stato osservato dalla view. Nelle versioni più recenti, questo si integra con il framework Observation, che semplifica la gestione dei modelli dati.

Hello World in SwiftUI

import SwiftUI  
struct ContentView: View {
    var body: some View {
        Text("Hello, SwiftUI!")
            .font(.largeTitle)
            .foregroundStyle(.blue) 
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

La preview permette di vedere l’anteprima della view nel canvas di Xcode.

Text è una view; .font(...) e .foregroundStyle(...) sono modifier che nemodificano l’aspetto. In SwiftUI quasi tutto parte dalla composizione di view e modifier.

Componenti principali di SwiftUI

View Le view sono i mattoncini fondamentali dell’interfaccia. Possono essere elementi semplici, come Text, Image o Button, oppure contenitori di layout come VStack, HStack, ZStack, List, Form e NavigationStack.

State Lo stato rappresenta i dati che possono cambiare durante l’esecuzione dell’app. Quando un dato osservato cambia, SwiftUI ricalcola il body delle view interessate e aggiorna l’interfaccia.

Modifiers I modifier sono metodi che modificano l’aspetto o il comportamento di una view. Permettono, ad esempio, di cambiare font, colore, padding, allineamento, dimensioni e navigazione.