Dovresti ancora imparare UIKit?
Ho iniziato a studiare lo sviluppo di iOS nel 2011. A quel tempo, le app iOS erano ancora sviluppate con Objective-C: a quel tempo non erano disponibili il conteggio automatico dei riferimenti e il layout automatico. Quindi molto è cambiato nel corso degli anni. Poi è arrivato Swift ed è stato un grande cambiamento. Ma ora c'è SwiftUI ed è un passo ancora più grande. Ma questo significa che non dovresti imparare UIKit?
Cominciamo guardando un sondaggio che ho fatto di recente su LinkedIn:
Quindi più sviluppatori userebbero SwiftUI in un nuovo progetto di app. Ma la differenza non è grande: almeno il 41% ha votato per UIKit. Sembra che ci siano ancora buoni motivi per utilizzare UIKit, anche in un nuovo progetto di app.
Naturalmente, l'argomento è anche un po' soggettivo. Ecco i motivi che ritengo siano i vantaggi rispettivamente di UIKit e SwiftUI:
UIKit
- La maggior parte delle app esistenti utilizza UIKit. Quindi, se inizi a lavorare come sviluppatore iOS, è molto probabile che lavorerai su progetti che utilizzano UIKit.
- Nel corso degli anni sono state create molte risorse come post di blog, librerie open source e tutorial. E usano UIKit. Certo, ci sono sempre più risorse che utilizzano SwiftUI, ma ci vorrà del tempo prima che le risorse più vecchie non siano più rilevanti.
- Per layout complessi, UIKit è ancora la scelta migliore. SwiftUI è molto più giovane di UIKit e la copertura API è ancora migliore in UIKit. Soprattutto quando i requisiti dell'interfaccia utente sono molto severi, hai più opzioni con UIKit.
- Per SwiftUI devi scegliere un obiettivo di distribuzione elevato. Il minimo è iOS 13, ma superiore è ancora meglio. Si potrebbe obiettare che questo non è un grosso problema per un'app iOS perché la maggior parte degli utenti utilizza l'ultima versione di iOS. Tuttavia, se hai un'app che ha un vasto pubblico, vuoi avere un obiettivo di distribuzione basso.
- Lo sviluppo è meno soggetto a errori: SwiftUI è un framework UI dichiarativo. Ciò significa che non devi gestire tutti i possibili stati dell'interfaccia utente da solo. Di conseguenza, la complessità diminuisce e avrai meno bug.
- Lo sviluppo con SwiftUI è più veloce: a causa della sua natura dichiarativa, è anche più veloce da sviluppare con SwiftUI. Inoltre, hai la funzione di anteprima in Xcode che consente di risparmiare molto tempo di compilazione.
- SwiftUI è più facile da imparare rispetto a UIKit perché hai molto meno codice boilerplate. Basta confrontare l'implementazione di un UITableView con un elenco in SwiftUI. È un'enorme differenza di complessità.
Vediamo che entrambi i framework hanno il loro posto, ma ovviamente SwiftUI è il futuro. Pertanto, siamo in una fase di transizione. Molte persone confrontano questo con il passaggio da Swift a Objective-C perché ci sono molte somiglianze: entrambi i linguaggi possono essere utilizzati nello stesso progetto, uno è il futuro e quello nuovo ha molti vantaggi. Vale anche la pena notare che Swift all'inizio era difficile da usare a causa della cattiva integrazione con Xcode. Ad esempio, il completamento del codice si bloccava continuamente, quindi all'inizio era piuttosto difficile sviluppare con Swift.
Ma alla fine, il passaggio da Objective-C a Swift è stato veloce. Credo che il passaggio da UIKit a Swift richiederà molto più tempo perché la transizione è più complessa. Probabilmente UIKit non diventerà mai così irrilevante come lo è oggi Objective-C.
La più grande somiglianza
Prima di concludere, riconosciamo un fatto importante: sia SwiftUI che UIKit sono ottimi framework e puoi creare app iOS straordinarie e significative con entrambi. Quindi alla fine non è nemmeno possibile prendere una decisione completamente sbagliata.
Conclusione
SwiftUI è il futuro dello sviluppo iOS ma UIKit è ancora molto rilevante oggi e lo sarà per un po' di tempo. Quindi, se vuoi diventare uno sviluppatore iOS devi imparare entrambi. D'altra parte, SwiftUI e UIKit sono molto complessi. Pertanto, è difficile imparare entrambi allo stesso tempo.
Il mio consiglio è di concentrarsi su SwiftUI all'inizio perché è più facile da imparare. Dopo aver appreso le basi e aver scritto app semplici, è un buon momento per imparare UIKit.
Originariamente pubblicato su https://thomashanning.com il 18 gennaio 2023.

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































