iOS 9 Beta e WatchOS 2 per gli sviluppatori
Pubblicato: 2022-03-11L'ultimo sistema operativo mobile di Apple è uscito e, se sei uno sviluppatore iOS, ecco cosa devi sapere. Le modifiche in iOS 9.x non sono solo profonde, anche se la mancanza di una riprogettazione completa potrebbe portare l'osservatore casuale a concludere che non si tratta di un grande aggiornamento. È un passo evolutivo, non c'è nulla di rivoluzionario in iOS 9.x, ma sfoggia alcune nuove funzionalità.
Abbiamo già trattato 3D Touch, che sta arrivando sugli iPhone della serie 6S aggiornati, ma questa è solo una funzionalità di iOS 9.x degna di nota. Il nuovo aggiornamento apporta anche molte modifiche orientate ai tablet, il che è comprensibile considerando la decisione di Apple di lanciare l'iPad Pro di grandi dimensioni con particolare attenzione alla produttività. Il multitasking per iPad sta per migliorare, poiché includerà le modalità di visualizzazione divisa, slide-over e picture-in-picture.
Gli sviluppatori Android e Microsoft potrebbero dire che le loro piattaforme avevano già tali funzionalità e avrebbero ragione: Apple è in ritardo alla festa e iOS è rimasto indietro rispetto ad Android nel multitasking per anni.
Tuttavia, oltre alle app per il multitasking e la produttività, iOS 9.x vanta anche una serie di funzionalità progettate pensando al consumo di contenuti. Apple ha ottimizzato SceneKit, SpriteKit e Metal, consentendo agli sviluppatori di giochi iOS di utilizzare alcune funzionalità avanzate e rendere i giochi ancora più elaborati. La ricerca sta ricevendo un aggiornamento, con una migliore indicizzazione dei contenuti, cronologia e markup web.
Oh, e non dimentichiamo 3D Touch, che è il discorso di marketing di Apple per Force Touch. Ho già trattato questo argomento in dettaglio quando è stato annunciato iOS 9 e, nel caso te lo fossi perso, devi dargli un'occhiata perché non vedo alcun motivo nel ripeterlo e aggiungere lanugine a un nuovo post.
Quindi su cosa dovremmo concentrarci questa volta?
Multitasking in iOS 9
Immagino che il multitasking sarebbe un buon punto di partenza, solo per toglierlo di mezzo e lasciare che gli sviluppatori Android scrivano alcuni commenti condiscendenti che abbiamo avuto per anni senza dover scorrere l'intero post.
Apple ha aggiunto tre diverse modalità multitasking in iOS9:
- Vista divisa
- Scivola sopra
- Picture-in-picture (PiP)
La vista divisa è un concetto familiare. Entrambe le app coesistono fianco a fianco, più o meno allo stesso modo di Windows 8.x e di alcuni tablet basati su Android (Samsung). Gli utenti possono trascinare le app e impostare le dimensioni della loro quasi finestra, ad esempio posizionando una striscia di Skype accanto al browser.
Slide over è simile a Split View, ma mostra la seconda app in una sovrapposizione richiamata dall'utente sul lato destro dello schermo, consentendo all'utente di selezionare rapidamente un'app e interagire con essa. Le app vengono visualizzate in una striscia verticale, simile al commutatore di app su Android 4.x.
Picture-in-picture, solitamente utilizzato per i video, consente agli utenti di visualizzare un'app in una cornice piccola. Ad esempio, se stai guardando un programma TV e ricevi un messaggio Skype, puoi rispondere mantenendo il video in una cornice PiP.
Tutte e tre le modalità possono essere utilizzate contemporaneamente, quindi puoi avere una cornice PiP mentre il tuo iPad visualizza due app in vista divisa.
Apple sta esortando gli sviluppatori ad adottare slide over e split view a meno che non abbiano un motivo specifico per non farlo. Le app della fotocamera e le app complete del dispositivo, come i giochi, sono elencate come eccezioni. Per quanto riguarda PiP, è progettato per app video ed è possibile disattivare anche se si dispone di un'app video, ma non è necessario supportare PiP.
Dovrei anche notare che ogni modello di app iOS in Xcode 7 è ora preconfigurato per supportare la visualizzazione a scorrimento e divisa. C'è un altro avvertimento: la visualizzazione divisa non è supportata sulla maggior parte degli iPad. In effetti, è disponibile solo su iPad Air 2 e iPad Pro, mentre lo slide over sta arrivando sulla prima generazione di Air, insieme a iPad Mini 2 e Mini 3.
Un altro problema che potrebbe causare mal di testa agli sviluppatori iOS è il layout e il ridimensionamento. Tutti gli iPad finora sono stati dotati di display 4:3, quindi i designer sono abituati a lavorare su una tela di aspetto 4:3. Tutte le app legacy avranno un aspetto corretto nella visualizzazione divisa? Dipende da una serie di fattori, quindi sarebbe presuntuoso rispondere a questo punto. Tuttavia, è qualcosa da tenere a mente se hai molte app per iPad sotto la cintura.
Apple ha già pubblicato le informazioni necessarie sulle nuove modalità multitasking, quindi dovresti assolutamente controllare la libreria ufficiale degli sviluppatori iOS per i dettagli.
iOS 9.1 e 9.2 Beta, adozione sul mercato
Apple ha rilasciato iOS 9.1 circa un mese fa e la versione beta di iOS 9.2 è già disponibile per il download tramite il programma software beta di Apple. Entrambe le versioni sono aggiornamenti minori.
In effetti, iOS 9.1 è stato il terzo aggiornamento di iOS 9, finora. Ha introdotto il supporto per Unicode 7 e 8, insieme a una gamma di nuovi emoji (incluso un unicorno). Xcode è arrivato alla versione 7.1 e anche alcuni componenti di Apple TV sono stati aggiornati. Sono state implementate anche piccole modifiche alla fotocamera, come un aggiornamento alle foto dal vivo, che sfrutta le informazioni del sensore per capire quando il dispositivo viene abbassato per interrompere la registrazione di video.
La versione beta di iOS 9.2 è disponibile da circa una settimana ed è un altro aggiornamento incrementale. Include alcune modifiche a Safari, aggiunge il supporto per l'arabo a Siri e include il supporto per il sistema NumberSync di AT&T. Niente di troppo significativo dal punto di vista degli sviluppatori.
Poche settimane dopo l'inizio del lancio di iOS 9, Apple ha affermato che il nuovo sistema operativo mobile sta mostrando il tasso di adozione più veloce di qualsiasi versione di iOS finora. Entro la fine di settembre, oltre il 50% dei dispositivi iOS è stato aggiornato a iOS 9. Detto questo, molti dispositivi meno recenti non riceveranno l'aggiornamento, ma tutti gli utenti con un iPhone o iPad acquistato negli ultimi quattro anni dovrebbero essere a posto. Gli utenti del buon vecchio iPhone 4 e dell'iPad di prima generazione non avranno iOS 9.
L'adozione rapida rimane un asso nella manica di Apple. Quando Google rilascia una nuova versione di Android, di solito i suoi partner hardware impiegano mesi per rilasciare aggiornamenti per i loro dispositivi e molti dispositivi di piccole marche non vengono aggiornati.
WatchOS 2 offre una serie di miglioramenti di tipo consumer
Mentre iOS 9.x può essere visto come un aggiornamento incrementale ed evolutivo, WatchOS 2 non è certo un aggiornamento approfondito. Il nuovo sistema operativo consente all'Apple Watch di fare molto di più, creando nuove possibilità per gli sviluppatori. Tuttavia, non è un punto di svolta per nessuno sforzo di immaginazione.
La maggior parte delle modifiche è incentrata sul consumatore, quindi WatchOS 2 include molti aggiornamenti delle app. Ad esempio, l'orologio ora può essere utilizzato per inviare testi e file audio tramite Facebook Messenger, iTranslate consentirà agli utenti di tradurre rapidamente il parlato, mentre la nuova app Airstrip è uno strumento sanitario. Anche il supporto di Siri è stato ampliato, insieme a una nuova funzione Viaggio nel tempo che consente agli utenti di controllare il meteo e gli appuntamenti. L'interfaccia musicale è stata ridisegnata. Gli utenti possono ora rispondere alle e-mail con la dettatura vocale e, quando è ora di andare a letto, l'orologio può essere messo in modalità Comodino.
L'Apple Watch ora si connette alle reti WiFi senza un iPhone; non ha bisogno di un laccio. Google ha già implementato questa funzione in Android Wear alcuni mesi fa, quindi non sorprende che anche Apple la aggiunga.
Apple ha anche ottimizzato l'estetica con una gamma di nuovi quadranti (e ridisegnati), ulteriori complicazioni e nuovi modi di personalizzarli e organizzarli. Nuove impostazioni di visualizzazione che manterranno lo schermo attivo più a lungo, fino a 70 secondi.
Ad essere sinceri, non trovo la maggior parte di questi aggiornamenti molto eccitanti e alcuni di essi potrebbero essere descritti come decisamente ingannevoli.
WatchOS 2 per sviluppatori
Sebbene l'aggiornamento non porti molte nuove funzionalità ai consumatori, aprirà nuove possibilità per gli sviluppatori. La grande novità è che WatchOS 2 consente l'accesso a più sensori e altri componenti hardware.
Gli sviluppatori ora potranno utilizzare la corona digitale per molto di più dello zoom; la corona può essere utilizzata per scorrere contenuti, notifiche e così via. Il problema è che pochissime app trarranno vantaggio da queste nuove funzionalità della corona; ci vorrà del tempo prima che vengano aggiornati per supportarli. D'altra parte, lo scopo principale di consentire un accesso più approfondito ai vari componenti è costringere gli sviluppatori a creare app native per l'Apple Watch.

Oltre ai nuovi controlli della corona digitale, anche le app di terze parti possono accedere al microfono e all'accelerometro.
Allora che dire delle complicazioni? Dal punto di vista dello sviluppatore, la capacità di creare, gestire e personalizzare nuove complicazioni potrebbe essere uno degli aggiornamenti più importanti. Il nuovo framework ClockKit.framework
viene utilizzato per gestire le complicazioni associate alle app di Apple Watch. Il framework consente agli sviluppatori di utilizzare varie origini dati per le complicazioni e quindi di modificare l'aspetto visivo per garantire una buona corrispondenza con l'app. Tutto viene eseguito utilizzando diverse classi ClockKit.framework
e puoi consultare il riferimento al framework Apple ClockKit ufficiale per ulteriori dettagli.
Queste modifiche potrebbero non sembrare un grosso problema, ma a lungo termine potrebbero cambiare il modo in cui gli utenti interagiscono con i loro dispositivi Watch OS. Possono anche creare nuovi casi d'uso e motivare più sviluppatori a creare app native per la piattaforma.
Nuova architettura WatchOS
Le modifiche in WatchOS 2 non sono profonde. Apple ha rielaborato l'architettura WatchOS, ma la buona notizia è che le modifiche non dovrebbero creare molti problemi agli sviluppatori.
Nella prima incarnazione di WatchOS, l'estensione WatchKit funzionava sull'iPhone dell'utente, ma in WatchOS 2 funzionava sull'Apple Watch. Apple afferma che lo spostamento dell'estensione sull'orologio rende la comunicazione tra l'app Watch e l'estensione "molto più veloce" e consente all'app di funzionare quando l'iPhone dell'utente non è disponibile. Ricordi l'accesso WiFi illimitato di cui ho parlato prima? Bene, questa è una delle cose che lo rende possibile. È anche importante per la funzionalità estesa delle complicazioni.
Il fatto che l'estensione WatchKit sia stata spostata su Apple Watch non ne pregiudica la funzionalità. Apple osserva che la "divisione del lavoro" tra l'app Watch e l'estensione WatchKit rimane invariata in WatchOS 2.
L'app contiene ancora gli storyboard che definiscono gli schermi utilizzati dall'app per presentare le informazioni, mentre l'estensione WatchKit utilizza le sottoclassi WKInterfaceController
per gestire detti schermi. Tutte le interazioni sono ancora gestite dal framework WatchKit.
Apple sottolinea che, il più delle volte, il codice di estensione WatchKit esistente dovrebbe funzionare in WatchOS 2. Tuttavia, la decisione di spostare le estensioni WatchKit sull'orologio cambierà il modo in cui le app sono progettate. Le estensioni verranno implementate utilizzando i framework WatchOS SDK anziché iOS SDK. Tuttavia, per le funzionalità non supportate nei framework WatchOS, gli sviluppatori dovranno comunque fare affidamento sull'app iOS. Ciò significa anche che i dati vengono solitamente archiviati sull'Apple Watch, ma nel caso in cui l'app necessiti di alcuni dati dall'app complementare su un dispositivo iOS, li recupererà in modalità wireless e li trasferirà all'Apple Watch. Gli sviluppatori non potranno utilizzare un contenitore di gruppo condiviso per scambiare file con l'app iOS.
Migrazione a WatchOS 2
Vale anche la pena notare che gli sviluppatori non devono ancora migrare a WatchOS 2, anche se Apple sottolinea che molte funzionalità non saranno disponibili se gli sviluppatori decideranno che non ne vale la pena. Potrebbero essere necessarie alcune modifiche architettoniche, descritte sopra, ma il lavoro potrebbe dare i suoi frutti in determinati scenari.
Apple sottolinea tre domande di base che gli sviluppatori devono porre prima di decidere se vale la pena migrare un'app esistente su WatchOS 2.
- Lo sviluppatore deve supportare le versioni precedenti di Apple Watch?
- L'app fa molto affidamento sulle tecnologie iCloud?
- L'app dell'orologio si basa sui dati dell'app iOS complementare?
È possibile fornire un'app Apple Watch in due versioni, per WatchOS 1 e WatchOS 2, utilizzando lo stesso pacchetto di app iOS. A seguito di modifiche all'architettura, l'app WatchOS 2 deve essere ricompilata in un eseguibile separato. Apple osserva che la condivisione del codice potrebbe richiedere uno sforzo maggiore e introdurre più complessità rispetto all'avere due app completamente separate.
Poiché l'estensione WatchKit in WatchOS 2 funziona su Apple Watch, non ha più accesso diretto alle tecnologie iCloud. Tutte le operazioni relative a iCloud devono essere eseguite dall'app complementare iOS. I dati vengono quindi inviati all'estensione WatchKit in modalità wireless, quindi gli sviluppatori dovranno probabilmente cambiare il modo in cui gestiscono e sincronizzano i dati tra i due dispositivi.
A causa della nuova architettura, anche la comunicazione con l'app complementare iOS è stata modificata. Nel caso in cui l'app necessiti di dati dall'app iOS, gli sviluppatori devono trasferire esplicitamente i file necessari dal dispositivo iOS al dispositivo WatchOS. I dati devono essere gestiti localmente in entrambe le posizioni e gli sviluppatori devono tenere presente che i dati sull'Apple Watch non vengono salvati automaticamente. Deve essere rispedito al dispositivo iOS per poterne eseguire il backup.
Incartare
Abbiamo trattato iOS 9 in un paio di post, quindi questa volta ho deciso di concentrarmi su nuove funzionalità multitasking e beta. Trovo interessante l'aspetto del multitasking a causa della decisione di Apple di lanciare l'iPad Pro, che sta ottenendo ottime recensioni.
A differenza dell'iPad e dell'iPad mini, la versione Pro è più ambiziosa. È progettato per il consumo di contenuti e la creazione di contenuti, mentre i buoni vecchi iPad da 9,7 pollici e 7,9 pollici vengono utilizzati principalmente per il consumo di contenuti. Il multitasking migliorato è vitale per un prodotto con aspirazioni "professionali". Non è necessario un ottimo supporto multitasking durante la navigazione in IMDB o durante il gioco occasionale, ma se è necessario modificare alcuni documenti, modificare alcuni schizzi e Skype allo stesso tempo, il supporto multitasking di prim'ordine è un must.
Con l'iPad Pro, Apple sta cercando di ritagliarsi una nuova nicchia per iOS. Il sistema operativo è abbastanza maturo per essere utilizzato per il business e, con il nuovo processore A9X basato su ARM, Apple ha una potente piattaforma hardware per accompagnarlo. Ovviamente, Apple non è la sola in questo spazio, e si può sostenere che l'iPad Pro è stato "ispirato" dal tablet Surface Pro di Microsoft. Apple ha deciso di utilizzare il suo sistema operativo mobile per iPad Pro, lasciando OS X riservato ai MacBook. Microsoft ha abbandonato Windows RT (Windows per ARM) e si è allontanato dai processori ARM.
Tuttavia, gli ultimi processori Intel Core M e Cherry Trail a 14 nm sono estremamente efficienti dal punto di vista energetico e ho avuto la possibilità di provarli in alcuni sistemi Windows di fascia bassa e media (da $ 150 a $ 500). Tutto quello che posso dire è: non sottovalutarli . Il nuovo hardware Intel è eccellente, Windows 10 è un miscuglio (almeno, secondo me), ma i prezzi saranno estremamente competitivi.
Per quanto riguarda WatchOS 2, è un aggiornamento leggermente più grande rispetto a iOS 9.x. Tuttavia, sono sorpreso dalla decisione di Apple di riprogettare l'architettura di base alla base così presto nel gioco. L'Apple Watch era in lavorazione da un po' di tempo ed è stato battuto sul mercato dagli orologi Android Wear di diversi quarti.
In realtà, non mi aspettavo modifiche all'architettura nella seconda iterazione del sistema operativo indossabile di Apple. Forse ho aspettative irrealistiche, ma quando un gigante tecnologico da 600 miliardi di dollari lancia un prodotto mesi dopo i suoi rivali, non mi aspetto che torni al tavolo da disegno qualche mese dopo. WiFi illimitato, estensione WatchKit in esecuzione su Apple Watch? Avrebbero potuto e avrebbero dovuto essere inclusi in WatchOS 1.
Forse è per questo che molte app di terze parti non hanno funzionato bene quando è stato lanciato l'Apple Watch.