In concomitanza della conferenza per sviluppatori WWDC2019, Apple ha annunciato quelle che definisce “innovative tecnologie” deatinate a chi programma e che dovrebbero rendere “radicalmente più semplice e veloce” lo sviluppo di nuove app.
SwiftUI è un framework di sviluppo definitivo “rivoluzionario”, con il quale è possibile creare “potenti interfacce” in modo molto più semplice rispetto a prima.
ARKit 3, RealityKit e Reality Composer, sono strumenti avanzati che rendono più semplice lo sviluppo di app per Realtà Aumentata destinate al settore consumer o commerciale. Nuovi strumenti e API per sviluppatori semplificano il porting delle app per iPad sul Mac, mentre l’aggiornamento delle tecnologie Core ML e Create ML permette la creazione di app più potenti e “snelle”, in grado di sfruttare tecnologie di apprendimento automatico on-device (direttamente sul dispositivo).
SwiftUI è un nuovo framework che consente la creazione di interfacce anche molto elaborate. Usando codice dichiarativo di semplice comprensione, gli sviluppatori possono creare app con interfacce articolate, complete di animazioni. Gli sviluppatori possono risparmiare tempo grazie a funzionalità che automatizzano vari processi, tenendo conto del layout dell’interfaccia, della Dark Mode (ora supportata da iOS 13), dell’Accessibilità, del supporto ai linguaggi con scrittura da sinistra verso destra e dell’internazionalizzazione. Le app SwiftUI sono eseguite nativamente e secondo Apple sono molto veloci; poiché SwiftUI sfrutta le stesse API integrate in iOS, iPadOS, macOS, watchOS e tvOS, gli sviluppatori possono velocizzare il loro lavoro e semplificare lo sviluppo di app native multipiattafroma.
In Xcode 11 è stato integrato un nuovo strumento per la progettazione delle interfacce (UI design) che semplifica il lavoro dei progettisti UI, senza bisogno di scrivere codice. Viene generato automaticamente il codice Swift e quando il codice è modificato, i cambiamenti vengono applicati automaticamente allo strumento di visual design. Gli sviluppatori possono visualizzare anteprime automatiche in real-time per quanto riguarda l’aspetto e il comportamento dell’UI, testando e perfezionando il codice. La possibilità di muoversi agevolmente tra la progettazione grafica e la scrittura del codice, a detta di Apple rende lo sviluppo dell’UI più semplice e divertente, oltre a consentire a più collaboratori di sfruttare funzionalità di collaborazione. Le anteprime possono essere visualizzate direttamente sui dispositivi connessi, inclusi Phone, iPad, iPod touch, Apple Watch e Apple TV, permettendo agli sviluppatori di capire in tempo reale in che modo un’app risponde al Multi-Touch o funzioni con fotocamera e altri sensori nel dispositivo-target.
ARKit 3 mette le persone al centro della Realtà Aumentata. Con il Motion Capture gli sviluppatori possono integrare i movimenti delle persone nelle loro app, e con il “People Occlusion”, i contenuti AR mostrati in modo naturale davanti o dietro le persone offrendo esperienze AR più immersive e divertenti in abbinamento ad applicazioni che sfruttano ad esempio la tecnica di sovrapposizione nota come “green sceen” (Chroma key). Con ARKit 3 è anche possibile tracciare fino a tre volti catturati dalle fotocamere frontali e posteriori dei dispositivi e anche tenere conto di sessioni collaborative tra più persone.
RealityKit è progettato per l’AR. Offre funzionalità di rendering fotorealistico ma anche per il mapping ambientale e il supporto di effetti della fotocamera quali il noise e il motion blur, rendendo quasi indistinguibili i contenuti virtuali da quelli reali. RealityKit offre anche funzionalità dedicate all’animazione con elementi che tengono conto della fisica degli oggetti e dell’audio spaziale. Gli sviluppatori possono sfruttare le nuove possibilità offerte da RealityKit con le nuove RealityKit Swift API. Reality Composer è una nuova app per iOS, iPadOS e Mac che offre agli sviluppatori funzionalità per la creazione di prototipi ed esperienze AR anche a chi non ha mai operato nell’ambito del 3D. L’interfaccia con il drag&drop e una libreria con oggetti 3D di alta qualità e animazione, permette agli sviluppatori di disporre, muovere e ruotare oggetti AR per creare esperienze di Realtà Aumentata da integrare direttamente nelle app Xcode o esportare in AR Quick Look.
Nuovi strumenti e API rendono più semplice effettuare il porting di app da iPad a Mac. Con Xcode, gli sviluppatori possono aprire un esistente progetto per iPad e con il semplice check su un singolo box creare un’app per Mac in grado di adattare automaticamente elementi quali touch, il supporto alla tastiera e al mouse. Le app per iPad e Mac possono, in pratica, condividere lo stesso progetto e codice sorgente: qualsiasi modifica fatta all’app per iPad, si riflette sull’app per Mac. Gli utenti possono sfruttare peculiarità specifiche dei dispositivi incluse tastiere, mouse o, ad esempio, la Touch Bar.
Per quanto riguarda Core ML e Create ML, sono supportati nuovi modelli avanzati di machine learing in tempo reale. Con oltre 100 layer supportati, le app Core ML hanno a disposizione tecnologie allo stato dell’arte nell’ambito della computer vision, della gestione del linguaggio naturale e del parlato. Per la prima volta gli sviluppatori possono aggiornare i modelli di apprendimento automatico on-device con la personalizzazione, offrendo la possibilità di creare nuovi modelli di machine.-learning senza programmare grazie a differenti dataset per il training, utilizzabili per identificare oggetti, attività o, ad esempio, classificare suoni.