Perché SwiftUI potrebbe essere la cosa più importante uscita dal WWDC?

Bug del WWDC 2019 Mela prodiga attenzione su tutte le sue piattaforme al WWDC di quest'anno. Abbiamo anche dato una prima occhiata al nuovissimo Mac Pro. Ma un altro annuncio, che non ha attirato così tanti titoli, potrebbe rivelarsi la cosa più importante che verrà fuori dalla conferenza degli sviluppatori di quest'anno: SwiftUI.

SwiftUI promette di cambiare radicalmente il modo in cui gli sviluppatori creano app per i prodotti Apple. E non è necessario essere un tecnico per apprezzare il motivo per cui è un grosso problema.

Con SwiftUI, Apple lascia andare una delle ultime eredità di Steve Jobs

Prima ricongiungendosi ad Apple nel 1997, Steve Jobs era amministratore delegato di una società chiamata Prossimo, che ha prodotto un sistema operativo all'avanguardia chiamato Passo successivo. Le applicazioni per NeXTSTEP sono state sviluppate in un linguaggio di programmazione chiamato Obiettivo-C.

Apple ha acquistato NeXT perché aveva bisogno di un sistema operativo brillante e di nuova generazione per sostituire il vecchio System 7 su cui giravano i Mac in quel momento. Cupertino ha adattato NeXTSTEP per diventare Mac OS X, che in seguito si è trasformato in macOS, iOS, watchOS e tvOS che conosciamo oggi.

Anche dopo tutti questi anni, se guardi sotto il cofano, l'origine delle piattaforme Apple rimane chiaramente evidente. I nomi delle classi di oggetti che Apple utilizza nel suo codice iniziano con le lettere "NS", per "NeXTSTEP".

Ma ora, grazie a SwiftUI, Apple sta iniziando a liberarsi di questo ultimo residuo di NeXT. NSObject e simili potrebbero presto essere consegnati alla storia. Questa è anche la prima API Apple non accessibile da Objective-C dal lancio di OS X, che potrebbe segnare l'inizio della fine per questo venerabile linguaggio di programmazione.

L'avvento di SwiftUI è davvero la fine di un'era e l'inizio di qualcosa di nuovo. Ma di cosa si tratta? E, cosa più importante, cosa significa per gli utenti finali di Apple?

Cos'è SwiftUI?

Fino a questa settimana, gli sviluppatori dovevano usare AppKit e UIKit per creare app per Mac e iOS. Queste API forniscono gli strumenti necessari agli sviluppatori per produrre elementi dell'interfaccia utente come pulsanti, elenchi a scorrimento e campi di input. Con le loro origini che risalgono a NeXTSTEP, queste API stanno iniziando a mostrare la loro età.

Man mano che il software invecchia, acquisisce ciò che i tecnici chiamano "debito tecnico", il che significa che sebbene possa essere facile e familiare da usare, faresti meglio a investire il tempo necessario per passare a un approccio migliore e più moderno. E questo tipo di interruttore è esattamente ciò di cui si occupa SwiftUI.

Quando Apple ha introdotto Swift, il successore di Objective-C, nel 2014 al WWDC, è stato classificato come "completamente nativo di Cocoa [AppKit] e Cocoa Touch [UIKit]." E grazie alla magia tecnica di Cupertino, lo è stato. Una specie di.

Apple è sempre stata brava a passare senza problemi da una tecnologia all'altra. Quando l'azienda è passata a OS X, ha incluso i framework Classic e Carbon, quindi le vecchie app sono rimaste compatibili. Allo stesso modo, con il passaggio dai chip PowerPC ai chip Intel, il Sistema Rosetta istruzioni perfettamente tradotte dal vecchio al nuovo chip.

Allo stesso modo, Cupertino ha fatto un ottimo lavoro nel rendere AppKit e UIKit compatibili con Swift. Ma puoi dire che le API sono vecchie e si avvicinano alla data di scadenza.

SwiftUI consente ad Apple di eliminare una volta per tutte l'eredità NeXTSTEP, sostituendola da zero con una nuova API nativa per lo sviluppo Swift.

Cosa c'è di così bello in SwiftUI?

Potrebbe essere nuovo e diverso, ma cosa c'è di davvero così eccezionale in SwiftUI? C'è molto da apprezzare per gli sviluppatori. Ma per i clienti Apple abituali come te e me, ci sono tre vantaggi principali che possiamo aspettarci: più app, app migliori e un supporto migliore per Mac e Apple Watch.

1. Più app: attrarre una nuova generazione di sviluppatori

SwiftUI aggiorna Apple con le tendenze attuali della programmazione. Vanta un sintassi dichiarativa, uno stile di programmazione già popolare tra gli sviluppatori web che utilizzano JavaScript. Ciò significa che sarà immediatamente familiare a una vasta gamma di tecnici che sono nuovi al modo di fare le cose di Apple. Rendendo più facile per i nuovi sviluppatori aggiornarsi, SwiftUI potrebbe attirare una nuova generazione di sviluppatori sulla piattaforma.

2. App native reali: incoraggiare gli sviluppatori ad abbandonare le API multipiattaforma

Facebook offre uno strumento per la creazione di app chiamato Reagire nativo. È diventato molto popolare perché consente agli sviluppatori di creare app in JavaScript e quindi compilarle come app native per l'esecuzione su dispositivi iOS e Android. Va tutto molto bene, ma le app create utilizzando strumenti multipiattaforma come questo raramente si comportano così come le vere app native.

Come mai? Perché richiedono un sacco di codice extra, sotto forma di librerie di terze parti, per farli funzionare. Di conseguenza, tendono ad essere più grandi, più lenti e più esigenti in termini di risorse di sistema e batteria rispetto alle app create utilizzando gli strumenti di Apple. Raramente sembrano vere app native.

Con SwiftUI, Apple offre agli sviluppatori un motivo in meno per ricorrere alle API multipiattaforma. è molto più veloce e più facile da sviluppare e, con la sua sintassi dichiarativa, è più facile per gli sviluppatori di React adottare.

3. Migliore supporto per Mac e Apple Watch: consentire agli sviluppatori di utilizzare il codice multipiattaforma

Gli sviluppatori possono sempre riutilizzare il codice sulle piattaforme Apple, perché supportano tutte Objective-C e Swift. Ma fino a questa settimana, non potevano riutilizzare il codice dell'interfaccia utente. Questo perché ogni piattaforma ha il proprio framework per questo. Mac utilizza AppKit, iOS utilizza UIKit e watchOS utilizza WatchKit. Affinché un'app funzioni su tutte e tre le piattaforme, lo sviluppatore deve produrre tre versioni separate del codice dell'interfaccia utente.

SwiftUI promette di cambiare tutto questo, perché lo stesso framework è nativo su tutte le piattaforme Apple. In pratica, è improbabile che sia così semplice perché ogni piattaforma ha le sue differenze. Un'app ottimizzata per l'ampio schermo di un iPad Pro non si adatterebbe facilmente alle dimensioni ridotte di un Apple Watch.

Tuttavia, consentendo agli sviluppatori di riutilizzare più codice dell'interfaccia utente su più piattaforme, a lungo termine SwiftUI potrebbe rivelarsi importante quanto Catalizzatore di progetto nell'incoraggiare gli sviluppatori ad abbracciare tutti i prodotti Apple.

Quando possiamo aspettarci di vedere app integrate in SwiftUI?

Proprio adesso, SwiftUI è in beta come parte di Xcode 11. Gli sviluppatori ci giocheranno e daranno calci alle gomme per alcuni mesi prima di iniziare effettivamente a creare app reali al suo interno.

È probabile che Xcode emerga dalla versione beta a settembre con il lancio di iOS 13. Ed è allora che lo sviluppo di SwiftUI inizierà davvero. Anche in questo caso, è possibile che il framework non sia completo di funzionalità, il che significa che gli sviluppatori possono continuare a fare affidamento su AppKit e UIKit se le API di cui hanno bisogno non sono ancora disponibili in SwiftUI.

Potrebbe anche volerci molto tempo prima che gli sviluppatori di app grandi e complesse come Photoshop effettuino il passaggio. Quindi AppKit e UIKit rimarranno in giro per un po'.

Tuttavia, non c'è dubbio che SwiftUI sia l'inizio di un nuovo importante capitolo per Apple. A lungo termine, possiamo aspettarci di vedere vantaggi non solo per gli sviluppatori ma per tutti coloro che utilizzano i prodotti Apple. Questa settimana potrebbe passare alla storia come una pietra miliare molto importante per Apple. Qualcosa che tra 10 anni il nostro Luke Dormehl ricorderà in un "Oggi nella storia di Apple" inviare.

Ultimo post sul blog

| Culto di Mac
October 21, 2021

Questo post è offerto da EdX.Si dice spesso che Internet consente a chiunque di essere istruito su qualsiasi argomento. Ma proprio come nelle modal...

Suggerimento professionale: come nascondere le foto nella libreria di foto di iPhone
October 21, 2021

Suggerimento professionale: come nascondere le foto nella libreria di foto di iPhoneÈ facile nascondere le tue foto in iOS ed è altrettanto facile ...

| Culto di Mac
October 21, 2021

Come aggiungere suoni alle registrazioni dello schermo del tuo iPhone o iPadBasta premere registra.Foto: darkday/Flickr CCiOS 11 aggiunta registraz...