SlideShare a Scribd company logo
A p p l e a b b a n d o n a U I K i t p e r l o
s v i l u p p o d i U I ?
SwiftUI
Rudy Fastell
i

Mobile Architect & iOS Specialist
Da iPhone OS a iOS 1
5

UIKit, cenni storici ed evoluzion
e

Sviluppo di interfacce su iO
S

Presentazione di SwiftU
I

Principali differenze tra UIKit e SwiftU
I

Adozione di SwiftUI, a che punto siamo?
AGENDA
“ I r e t t a n g o l i c o n g l i a n g o l i
a r r o t o n d a t i s o n o o v u n q u e !
G u a r d a t i i n t o r n o i n q u e s t a s t a n z a !
”

S t e v e J o b s a B i l l A t k i n s o
n
U n a r i c e r c a m a n i a c a l e
MINIMAL
- Imperativ
o

- Interface Builde
r

- Xib
 

- MVC forzato (quasi
)

- Storyboar
d

- Autolayou
t

- StackView
UIKit
L
e
O
r
i
g
i
n
i
UIKit
C
o
n
t
i
n
u
a
e
v
o
l
u
z
i
o
n
e
:
S
t
o
r
y
b
o
a
r
d
UIKit
C R E A T I V E P R E S E N T A T I O N
MINIMAL
lorem ipsum is simply dummy
text of the printing and
typesetting industry. lorem
ipsum the industry's standard
C
o
n
t
i
n
u
a
e
v
o
l
u
z
i
o
n
e
:
A
u
t
o
l
a
y
o
u
t
UIKit
- Dichiarativ
o

- Live Preview (multi dispositivo)
 

- StackView (su tre assi
)

- Swif
t

- Binding & Observer
SwiftUI
PRO
- Impegnativo da apprender
e

- Non ha una Live Previe
w

- Richiede molte linee di codic
e

- E’ complesso gestire gli autolayout con layout compless
i

- E’ basato su Objective-C
UIKIT CONTRO
- Supporto completo di O
S

- Framework stabil
e

- Documentazione ed esempi esaustivi
PRO
- Supporta solo iOS 13
+

- Framework relativamente giovan
e

- Complesso trovare documentazione e/o esempi
 

- Binding&observer
CONTRO
- Semplice da imparar
e

- Può essere integrato con UIKit mediante UIHostingControlle
r

- Offre Live Previe
w

- Necessita di poche linee di codic
e

- Utilizza Swift come linguaggio di svilupp
o

- Relazione tra eventi e modifica stati gestita dal framework
Swift
UI
S
v
i
l
u
p
p
o
I
n
t
e
r
f
a
c
c
e
UIKit
VS
SwiftUI
S
v
i
l
u
p
p
o
I
n
t
e
r
f
a
c
c
e
UIKit
S
v
i
l
u
p
p
o
I
n
t
e
r
f
a
c
c
e
SwiftUI
Interface Builder


Aggiornamenti interfacce


Documentazione e supporto


Compatibilità


Velocità di sviluppo


Animazioni


Multi Dispositivo


Widget


Storyboard


Cosa è a schermo e come


Completa e esaustiva


Tutti


Standard


Complete ma lente


No


Con molta fatica
Live Preview


Aggiornamento del modello


Embrionale


iOS 13+


Rapida


Integrate


Buoni propositi


Si
VS
Rudy Fastell
i

Mobile Architect & iOS Specialist
GRAZIE

More Related Content

Similar to SwiftUI vs UIKit (20)

Crossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deceptionCrossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deception
Luciano Colosio
 
Crossdev sdk/tools: devil's deception - Luciano Colosio
Crossdev sdk/tools: devil's deception - Luciano ColosioCrossdev sdk/tools: devil's deception - Luciano Colosio
Crossdev sdk/tools: devil's deception - Luciano Colosio
Whymca
 
Sviluppo Di Applicazioni Su I Os
Sviluppo Di Applicazioni Su I OsSviluppo Di Applicazioni Su I Os
Sviluppo Di Applicazioni Su I Os
NoDelay Software
 
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi
 
Corso WebApp iOS - Lezione 05: Mobile Touch Development
Corso WebApp iOS - Lezione 05: Mobile Touch DevelopmentCorso WebApp iOS - Lezione 05: Mobile Touch Development
Corso WebApp iOS - Lezione 05: Mobile Touch Development
Andrea Picchi
 
iOS Programming
iOS ProgrammingiOS Programming
iOS Programming
Massimo Oliviero
 
iOS_Course_9
iOS_Course_9iOS_Course_9
iOS_Course_9
Dario Pizzuto
 
iOS_Course_1
iOS_Course_1iOS_Course_1
iOS_Course_1
Dario Pizzuto
 
iOS_Course_2
iOS_Course_2iOS_Course_2
iOS_Course_2
Dario Pizzuto
 
iOS_Course_4
iOS_Course_4iOS_Course_4
iOS_Course_4
Dario Pizzuto
 
MonoTouch, un anno dopo
MonoTouch, un anno dopoMonoTouch, un anno dopo
MonoTouch, un anno dopo
Stefano Ottaviani
 
iOS_Course_11
iOS_Course_11iOS_Course_11
iOS_Course_11
Dario Pizzuto
 
Universal app ma universal per davvero
Universal app ma universal per davveroUniversal app ma universal per davvero
Universal app ma universal per davvero
Klab
 
Making iOS UIKit Simulator for MacOS X
Making iOS UIKit Simulator for MacOS XMaking iOS UIKit Simulator for MacOS X
Making iOS UIKit Simulator for MacOS X
Daniele Margutti
 
Corso WebApp iOS - Lezione 04: iOS UI Design
Corso WebApp iOS - Lezione 04: iOS UI DesignCorso WebApp iOS - Lezione 04: iOS UI Design
Corso WebApp iOS - Lezione 04: iOS UI Design
Andrea Picchi
 
Learning Swift Building Apps for OSX, iOS, and Beyond Jon Manning
Learning Swift Building Apps for OSX, iOS, and Beyond Jon ManningLearning Swift Building Apps for OSX, iOS, and Beyond Jon Manning
Learning Swift Building Apps for OSX, iOS, and Beyond Jon Manning
jelieltoinks
 
Watchkit Fundamentals
Watchkit FundamentalsWatchkit Fundamentals
Watchkit Fundamentals
Lab Nova
 
Un bit di accessibilità su dispositivi mobili
Un bit di accessibilità su dispositivi mobiliUn bit di accessibilità su dispositivi mobili
Un bit di accessibilità su dispositivi mobili
Mattia Ducci
 
Tesi3
Tesi3Tesi3
Tesi3
tryyrt
 
Crossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deceptionCrossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deception
Luciano Colosio
 
Crossdev sdk/tools: devil's deception - Luciano Colosio
Crossdev sdk/tools: devil's deception - Luciano ColosioCrossdev sdk/tools: devil's deception - Luciano Colosio
Crossdev sdk/tools: devil's deception - Luciano Colosio
Whymca
 
Sviluppo Di Applicazioni Su I Os
Sviluppo Di Applicazioni Su I OsSviluppo Di Applicazioni Su I Os
Sviluppo Di Applicazioni Su I Os
NoDelay Software
 
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi
 
Corso WebApp iOS - Lezione 05: Mobile Touch Development
Corso WebApp iOS - Lezione 05: Mobile Touch DevelopmentCorso WebApp iOS - Lezione 05: Mobile Touch Development
Corso WebApp iOS - Lezione 05: Mobile Touch Development
Andrea Picchi
 
Universal app ma universal per davvero
Universal app ma universal per davveroUniversal app ma universal per davvero
Universal app ma universal per davvero
Klab
 
Making iOS UIKit Simulator for MacOS X
Making iOS UIKit Simulator for MacOS XMaking iOS UIKit Simulator for MacOS X
Making iOS UIKit Simulator for MacOS X
Daniele Margutti
 
Corso WebApp iOS - Lezione 04: iOS UI Design
Corso WebApp iOS - Lezione 04: iOS UI DesignCorso WebApp iOS - Lezione 04: iOS UI Design
Corso WebApp iOS - Lezione 04: iOS UI Design
Andrea Picchi
 
Learning Swift Building Apps for OSX, iOS, and Beyond Jon Manning
Learning Swift Building Apps for OSX, iOS, and Beyond Jon ManningLearning Swift Building Apps for OSX, iOS, and Beyond Jon Manning
Learning Swift Building Apps for OSX, iOS, and Beyond Jon Manning
jelieltoinks
 
Watchkit Fundamentals
Watchkit FundamentalsWatchkit Fundamentals
Watchkit Fundamentals
Lab Nova
 
Un bit di accessibilità su dispositivi mobili
Un bit di accessibilità su dispositivi mobiliUn bit di accessibilità su dispositivi mobili
Un bit di accessibilità su dispositivi mobili
Mattia Ducci
 

More from Commit University (20)

GitHub Copilot:vediamo chi comanda - Commit University.pdf
GitHub Copilot:vediamo chi comanda - Commit University.pdfGitHub Copilot:vediamo chi comanda - Commit University.pdf
GitHub Copilot:vediamo chi comanda - Commit University.pdf
Commit University
 
Contract Driven Development - Branch 2024.pdf
Contract Driven Development - Branch 2024.pdfContract Driven Development - Branch 2024.pdf
Contract Driven Development - Branch 2024.pdf
Commit University
 
Cybersecurity & AI: Illusioni e Speranze
Cybersecurity & AI: Illusioni e SperanzeCybersecurity & AI: Illusioni e Speranze
Cybersecurity & AI: Illusioni e Speranze
Commit University
 
Migliorare la Developer Experience in un mondo Cloud Native
Migliorare la Developer Experience in un mondo Cloud NativeMigliorare la Developer Experience in un mondo Cloud Native
Migliorare la Developer Experience in un mondo Cloud Native
Commit University
 
Scopri come sfruttare la potenza della Hybrid RAG
Scopri come sfruttare la potenza della Hybrid RAGScopri come sfruttare la potenza della Hybrid RAG
Scopri come sfruttare la potenza della Hybrid RAG
Commit University
 
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Commit University
 
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdfOltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Commit University
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
 
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Commit University
 
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Commit University
 
Slide-10years.pdf
Slide-10years.pdfSlide-10years.pdf
Slide-10years.pdf
Commit University
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Commit University
 
Vue.js slots.pdf
Vue.js slots.pdfVue.js slots.pdf
Vue.js slots.pdf
Commit University
 
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
Commit University
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
Commit University
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Commit University
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
Commit University
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
Commit University
 
GitHub Copilot:vediamo chi comanda - Commit University.pdf
GitHub Copilot:vediamo chi comanda - Commit University.pdfGitHub Copilot:vediamo chi comanda - Commit University.pdf
GitHub Copilot:vediamo chi comanda - Commit University.pdf
Commit University
 
Contract Driven Development - Branch 2024.pdf
Contract Driven Development - Branch 2024.pdfContract Driven Development - Branch 2024.pdf
Contract Driven Development - Branch 2024.pdf
Commit University
 
Cybersecurity & AI: Illusioni e Speranze
Cybersecurity & AI: Illusioni e SperanzeCybersecurity & AI: Illusioni e Speranze
Cybersecurity & AI: Illusioni e Speranze
Commit University
 
Migliorare la Developer Experience in un mondo Cloud Native
Migliorare la Developer Experience in un mondo Cloud NativeMigliorare la Developer Experience in un mondo Cloud Native
Migliorare la Developer Experience in un mondo Cloud Native
Commit University
 
Scopri come sfruttare la potenza della Hybrid RAG
Scopri come sfruttare la potenza della Hybrid RAGScopri come sfruttare la potenza della Hybrid RAG
Scopri come sfruttare la potenza della Hybrid RAG
Commit University
 
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Introduzione a AWS Forecast e SageMaker DeepAR: Prevedere la Domanda con il M...
Commit University
 
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdfOltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Oltre l'hype: vulnerabilità e limiti dell'intelligenza artificiale.pdf
Commit University
 
Alla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAGAlla scoperta dei Vector Database e dei RAG
Alla scoperta dei Vector Database e dei RAG
Commit University
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Commit University
 
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Commit University
 
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Commit University
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Commit University
 
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
Commit University
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
Commit University
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Commit University
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
Commit University
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
Commit University
 
Ad

SwiftUI vs UIKit

  • 1. A p p l e a b b a n d o n a U I K i t p e r l o s v i l u p p o d i U I ? SwiftUI Rudy Fastell i Mobile Architect & iOS Specialist
  • 2. Da iPhone OS a iOS 1 5 UIKit, cenni storici ed evoluzion e Sviluppo di interfacce su iO S Presentazione di SwiftU I Principali differenze tra UIKit e SwiftU I Adozione di SwiftUI, a che punto siamo? AGENDA
  • 3. “ I r e t t a n g o l i c o n g l i a n g o l i a r r o t o n d a t i s o n o o v u n q u e ! G u a r d a t i i n t o r n o i n q u e s t a s t a n z a ! ” S t e v e J o b s a B i l l A t k i n s o n
  • 4. U n a r i c e r c a m a n i a c a l e MINIMAL
  • 5. - Imperativ o - Interface Builde r - Xib - MVC forzato (quasi ) - Storyboar d - Autolayou t - StackView UIKit
  • 8. C R E A T I V E P R E S E N T A T I O N MINIMAL lorem ipsum is simply dummy text of the printing and typesetting industry. lorem ipsum the industry's standard C o n t i n u a e v o l u z i o n e : A u t o l a y o u t UIKit
  • 9. - Dichiarativ o - Live Preview (multi dispositivo) - StackView (su tre assi ) - Swif t - Binding & Observer SwiftUI
  • 10. PRO - Impegnativo da apprender e - Non ha una Live Previe w - Richiede molte linee di codic e - E’ complesso gestire gli autolayout con layout compless i - E’ basato su Objective-C UIKIT CONTRO - Supporto completo di O S - Framework stabil e - Documentazione ed esempi esaustivi
  • 11. PRO - Supporta solo iOS 13 + - Framework relativamente giovan e - Complesso trovare documentazione e/o esempi - Binding&observer CONTRO - Semplice da imparar e - Può essere integrato con UIKit mediante UIHostingControlle r - Offre Live Previe w - Necessita di poche linee di codic e - Utilizza Swift come linguaggio di svilupp o - Relazione tra eventi e modifica stati gestita dal framework Swift UI
  • 15. Interface Builder Aggiornamenti interfacce Documentazione e supporto Compatibilità Velocità di sviluppo Animazioni Multi Dispositivo Widget Storyboard Cosa è a schermo e come Completa e esaustiva Tutti Standard Complete ma lente No Con molta fatica Live Preview Aggiornamento del modello Embrionale iOS 13+ Rapida Integrate Buoni propositi Si VS
  • 16. Rudy Fastell i Mobile Architect & iOS Specialist GRAZIE