WWDC 2019: tutte le novità per sviluppatori come SwiftUI

SwiftUI
SwiftUI

Apple ha aggiornato tutti i suoi sistemi operativi di quest’anno. C’è stata anche una grande quantità di promesse interessanti con iOS 13, come consentire di rendere le app del 50% più leggere, gli aggiornamenti del 60% più leggeri e consentire di aprire le app con una velocità doppia rispetto a quella precedente. Ma come farebbe Apple a farlo?

In realtà la società ha presentato moltissime novità per gli sviluppatori. Novità che consentiranno di realizzare app più potenti con un codice più leggero. Per esempio Apple ha presentato SwiftUI.

Quest’ultimo è una versione grafica di parte del processo di Swift. Per rendere lo sviluppo più veloce, la società ha reso disponibile l’accesso interattivo con il simulatore grazie all’accelerazione grafica della GPU. Questo consente di applicare delle modifiche in tempo reale sulla storyboard, ottenendo la generazione e adattamento del codice in automatico.

Questo consente di non creare intere app, ma velocizzare alcune parti, come l’integrazione della modalità dark, l’integrazione dell’Accessibilità e altro.

Novità importanti riguardano la realtà aumentata. Con ARKit 3 il sistema rileverà anche i movimenti delle persone nell’ambiente. Motion Capture, per esempio animerà i personaggi in base al movimento delle persone nell’ambiente. Alzando le braccia anche il personaggio del gioco alzerà le braccia.

People Occlusion, invece, farà muovere le persone reali in un ambiente in realtà aumentata. A differenza del passato, dove gli oggetti venivano semplicemente ancorati ad una superficie, ora sarà possibile ruotarvi intorno per poter passare avanti o dietro gli oggetti. Lo stile ricorda un po’ il telo verde usato nel settore cinematografico.

Per rendere gli oggetti più realistici è stato realizzato RealityKit. Si tratta di un framework che permette di creare oggetti in 3D, da usare nella realtà aumentata, con un livello di accuratezza dei dettagli elevata. Per esempio la luce si gestisce in modo dinamico rispetto all’ambiente circostante.

Per agevolare la creazione di oggetti in 3D e animarli per le app, Apple ha creato un’app apposita. Si chiama Reality Composer e aiuta le persone che non hanno dimestichezza con gli oggetti in 3D. Per esempio all’interno si trovano già delle librerie di elementi utilizzabili liberamente per le app.

La creazione di questi elementi si integra nativamente in Xcode. Grazie alle API Swift RealityKit, inoltre, gli sviluppatori potranno integrare il tutto con il framework di RealityKit.

Non dimentichiamo inoltre il Progetto Catalyst. Questi, conosciuto in passato come Progetto Marzipan, consente di ottimizzare velocemente il codice delle app realizzate per iPadOS, al fine di renderle compatibili per macOS.

Con poche ore di lavoro il codice sarà ottimizzato in modo da poter offrire le stesse app realizzate per iPad in modo da installarle nei Mac. La cosa interessante è che le app ottimizzate in questo modo potranno funzionare sia con il mouse che con l’interfaccia touch dell’iPad, così come funzioneranno con l’interazione dell’Apple Pencil.

Per quanto riguarda il machine learning, invece, il nuovo framework Core ML 3 ora supporta fino a 100 livelli. Questo consentirà di creare app con sistemi di apprendimento automatici più efficaci. Le app possono comprendere meglio gli elementi nelle immagini, i concetti vocali e linguaggi naturali. Il tutto senza compromettere la privacy dell’utente.

Per quanto riguarda le nuove API ne troviamo alcune per watchOS 6. Per esempio ora si possono integrare gli streaming audio nelle app per l’Apple Watch. Nuove API per il runtime consentono di usare le app in background anche quando queste sono spente, accedendo a dati come il battito cardiaco. Tra le altre cose sono degne di menzione anche:

  • PencilKit: per integrare in profondità l’uso dell’Apple Pencil con la nuova reattività di 9 ms, contro i 20 ms precedenti.
  • SiriKit: ora supporta le app per musica, podcast e audiolibri. Con le AirPods si possono leggere i messaggi dalle varie app di messaggistica in automatico. Per esempio se vuole anche WhatsApp potrà integrare queste API.
  • MapKit: una migliore integrazione delle mappe nelle app, come il supporto di zoom e panoramiche.
  • Migliorato il supporto per le lingue.
  • Nuova versione di Metal per aumentare le performance grafiche.

Abbiamo anche il supporto di ben 1.000 simboli nel font San Francisco. Questo consente di evitare di usare le icone in formato immagine. La differenza tra simboli e immagini è che i simboli sono vettoriali, quindi basta aumentare la grandezza del font per aumentare automaticamente la grandezza dell’icona. Non bisognerà cambiare la grandezza dell’immagine manualmente in caso di modifiche.

Per ultimo vi cito Core Haptics: il nuovo framework per creare impulsi aptici nelle vostre app. Questi sono feedback sotto forma di vibrazioni generati dal sistema Taptic Engine.

Cosa ne pensi?