WWDC è come il Natale per gli sviluppatori di Cocoa, e questo è certamente vero per l'edizione di quest'anno a causa della scarsità di fughe e voci che hanno portato alla conferenza. Anche se siamo tutti curiosi di sapere cosa Apple ha in serbo per tutti quelli che amano Apple, il keynote è molto più divertente quando non hai idea di cosa sta per essere annunciato, come quest'anno.
Se hai visto il keynote di Tim Cook, allora sono sicuro che sei d'accordo sul fatto che Apple abbia superato le aspettative di tutti. Prendiamo alcuni minuti per riassumere ciò che Apple ha annunciato, cosa significa per gli sviluppatori e cosa aspettarsi entro la fine dell'anno.
Non importa cosa sia stato scritto su Apple negli ultimi mesi, Apple è viva e vegeta. Sembra che Apple abbia davvero raddoppiato-down sulla segretezza, perché alcuni, se non la maggior parte, di ciò che è stato annunciato durante il keynote di lunedì è stata una sorpresa, anche per le persone che hanno familiarità con la linea di prodotti e la roadmap di Apple.
Ciò che mi ha sorpreso durante il keynote è stato il tono dei relatori principali, Tim Cook e Craig Federighi. La compagnia ha riacquistato la fiducia che sembrava aver lasciato la compagnia nel 2011, quando Steve Jobs è scomparso.
La società è orgogliosa dei suoi prodotti, della sua comunità di sviluppatori e non esita a ridicolizzare di tanto in tanto Android. La sana relazione con Microsoft era presente anche in tutto il keynote.
Dal punto di vista degli sviluppatori iOS, l'annuncio di OS X Yosemite potrebbe non sembrare così importante, ma non è completamente accurato. Anche se Apple ha ripetutamente affermato che iOS e OS X rimangono sistemi operativi separati, è chiaro che la società sta migliorando la propria integrazione con ogni versione.
Non è un caso che il ciclo di sviluppo di OS X sia cambiato da 18-24 mesi a 12 mesi, lo stesso di quello di iOS. Mentre iOS ha ereditato molto da OS X durante i suoi primi anni, sembra che iOS stia ora restituendo il favore. Con OS X Yosemite, l'aspetto e l'aspetto di OS X è più simile a quello di iOS. L'OS X non solo è diventato più piatto, come il suo fratellino, la nuova funzione Continuity è un altro passo verso una migliore integrazione e comunicazione tra entrambi i sistemi operativi.
Funzioni come AirDrop, Handoff e iCloud Drive rendono il passaggio da iOS a OS X più semplice, quasi privo di attrito. Queste funzionalità fanno parte della risposta dell'azienda alla richiesta dei consumatori di rendere l'integrazione tra iOS e OS X migliore e meno ingombrante.
Ma Apple non l'ha lasciato. La società ha fatto un ulteriore passo avanti sfruttando il rilevamento di prossimità, il che significa che il tuo Mac sa quando il tuo dispositivo iOS si trova nelle vicinanze. Ciò consente alcune cose, come l'accettazione delle chiamate in arrivo sul tuo iPhone dal tuo Mac. Il tuo iPhone installerà automaticamente un hotspot personale non appena saprà che uno dei tuoi Mac si trova nelle vicinanze. Quant'è fico?
Il passaggio da iOS 6 a iOS 7 è stato più che evolutivo e sono sicuro che sei d'accordo sul fatto che la corsa non sia stata così fluida come sostiene Apple. iOS 7 ha introdotto così tante nuove funzionalità, modifiche visive e cambiamenti di paradigma che l'utente medio, e la maggior parte degli sviluppatori, siamo un po 'titubanti ad abbracciare la nuova direzione che Apple aveva adottato con iOS.
L'annuncio di iOS 8, tuttavia, è diverso. La maggior parte delle modifiche introdotte in iOS 8 sono modifiche che perfezionano il sistema operativo, lo integrano con OS X e migliorano la stabilità e l'usabilità complessive del sistema operativo.
L'applicazione Photos ha subito una revisione, ora è più potente che mai. Apple ha brevemente mostrato una versione per OS X che verrà distribuita all'inizio del prossimo anno. Non è stato menzionato iPhoto o Aperture e non è chiaro se Photos per OS X li sostituirà.
Con Photos per iOS, ora puoi cercare tutte le foto e i filmati che hai mai scattato con qualsiasi dispositivo iOS. Questa è l'idea e iCloud, che ora può archiviare tutte le foto e i film che fai con un dispositivo iOS, dovrebbe renderlo possibile.
Con questo cambiamento, Apple è entrata nel territorio di Dropbox. Anche se tutte le foto e i filmati che porti con un dispositivo iOS sono archiviati in iCloud, nota che questo non sarà gratuito per tutti. I prezzi di Apple, tuttavia, sembrano più che ragionevoli.
A partire da iOS 8, un'applicazione può avere una o più estensioni che estendono la funzionalità di un'applicazione ad altre applicazioni, incluso il sistema operativo. Le estensioni sono la risposta di Apple a una richiesta molto comune sia dagli sviluppatori che dagli utenti finali.
Le estensioni si presentano in molte forme. Un'estensione può essere un semplice widget per il Centro notifiche che visualizza i dati meteo, ma può anche essere una tastiera personalizzata, un altro grande cambiamento per iOS. Durante il keynote, ad esempio, Federighi ha mostrato come è stata utilizzata un'applicazione di terze parti per modificare una foto in Photos for iOS. L'applicazione di terze parti fornisce l'interfaccia utente e l'integrazione sembra piuttosto semplice.
Secondo Apple, Touch ID è un grande successo con oltre l'80% dei consumatori che lo ha abilitato. In iOS 8, Apple apre l'API Touch ID agli sviluppatori di terze parti. La sicurezza rimane fondamentale, il che significa che le informazioni reali sulle impronte digitali non sono accessibili o addirittura esposte agli sviluppatori.
iCloud è ancora un aspetto molto importante dell'ecosistema iOS e OS X per Apple. In effetti, il ruolo di iCloud diventa più importante ad ogni iterazione di iOS e OS X.
La soluzione cloud di Apple è stata migliorata notevolmente, sia da un utente finale che da una prospettiva di sviluppo. Ho già detto come iCloud può ora archiviare tutte le foto e i film che fai con i tuoi dispositivi iOS, ma Apple consente anche l'accesso ai dati archiviati su iCloud introducendo iCloud Drive. Rende i dati di condivisione tra le applicazioni iOS e OS X più semplici e trasparenti.
L'invio di e-mail con allegati di grandi dimensioni non è più un problema con iCloud Drive. Come ho detto prima, iCloud è gratuito fino a 5 GB. Lo spazio aggiuntivo costa $ 0,99 per 20 GB al mese o $ 3,99 al mese per 200 GB. Il limite superiore è 1 TB.
iCloud Drive non è l'unica modifica apportata da Apple sul lato server, ma l'azienda ha anche introdotto Cloud Kit. Con Cloud Kit, Apple si occupa dell'aspetto lato server dello sviluppo di applicazioni iOS, lasciando che lo sviluppatore si concentri sull'applicazione iOS. Con Cloud Kit, Apple è entrata nel mercato BaaS o PaaS.
Apple ha inoltre annunciato HealthKit e Health per iOS. HealthKit è una piattaforma per la gestione dei dati di salute e fitness. L'applicazione Salute visualizza questi dati in modo Apple. Ovviamente, la salute dei dati per iOS dipende dall'input che riceve da altre applicazioni che raccolgono i dati.
Un'applicazione come Nike +, ad esempio, può condividere i suoi dati di fitness attraverso HealthKit e chiedere dati nutrizionali raccolti da un'altra applicazione. Apple ha sottolineato che la privacy è una preoccupazione importante. Le applicazioni di terze parti non possono accedere ai tuoi dati sanitari senza la tua autorizzazione.
È impressionante il numero di nuove funzionalità, framework e API introdotte durante il keynote di quest'anno. HomeKit è un'altra aggiunta sorprendente per iOS. Il framework HomeKit è un'integrazione tra dispositivi iOS e dispositivi conformi al protocollo di automazione domestica di Apple.
L'idea è di portare sanità mentale al crescente mercato della domotica in cui ogni produttore ha i propri standard e applicazioni. Non sembra che Apple stia semplicemente testando le acque con HomeKit in quanto la società ha elencato una lista impressionante di grandi marchi che sostengono di supportare HomeKit. Speriamo che HomeKit renda la domotica meno dolorosa e più coerente per gli utenti iOS.
Un'altra grande sorpresa è stata l'introduzione di Metal, un'API di basso livello per l'esecuzione di grafica complessa su dispositivi iOS. Come dimostrato durante il keynote, Metal mira a ridurre al minimo il sovraccarico che OpenGL ha dovuto sostituirlo con un'API che non solo riduce questo overhead, ma aumenta anche le prestazioni sui dispositivi iOS.
SpriteKit, introdotto in iOS 7, ha ricevuto un aggiornamento significativo con fisica per-pixel, cinematica inversa e forze di campo. Inoltre, SceneKit, disponibile su OS X per diversi anni, è ora disponibile anche su iOS.
Il numero di annunci importanti è sbalorditivo. Sapevamo già che Apple aveva acquisito Burstly, la società dietro TestFlight, ma non mi aspettavo che offrissero un servizio tutto per loro così presto. Ma loro lo fecero.
TestFlight, il nome non è cambiato, consentirà la distribuzione di applicazioni beta attraverso l'applicazione Apple TestFlight. L'unico svantaggio è che richiederà iOS 8. Tuttavia, l'acquisizione di Burstly sembra non avere nient'altro che aspetti positivi. Ad esempio, ogni applicazione, non l'account sviluppatore, può avere fino a 1.000 tester. Non c'è limite al numero di dispositivi per tester. Questa è davvero una notizia sorprendente e renderà il processo molto meno ingombrante per gli sviluppatori iOS. Il provisioning delle applicazioni è molto più semplice grazie a TestFlight. Se pensavate che la distribuzione beta fosse semplice con TestFlight, sarebbe stata ancora più semplice grazie a, beh, TestFlight.
Apple non sarebbe Apple se non controllasse strettamente la distribuzione delle build ai tester. Sulla base del contratto di licenza per sviluppatori iOS aggiornato, un'applicazione deve essere esaminata da Apple prima che possa essere distribuita ai tester. Come ciò accadrà e quanto tempo impiegherà Apple a rivedere decine di migliaia di build di test non è chiaro, ma, come sottolinea Ole Begemann, sembra che Apple sia più indulgente quando si tratta di rivedere i build di test. Dovremo aspettare fino all'autunno per scoprire come andranno le cose.
L'annuncio più importante del keynote del WWDC di quest'anno è stato, senza dubbio, l'introduzione di Swift, un nuovo linguaggio di programmazione per lo sviluppo di applicazioni iOS e OS X. L'obiettivo di Swift è rendere lo sviluppo più facile, meno doloroso e più moderno. A prima vista, Swift è un linguaggio di programmazione dinamico incredibilmente espressivo grazie alla sua intuitiva, accattivante e sintassi.
Swift non ha intestazioni, non punti e virgola e supporta chiusure e generici. Le funzioni possono avere più valori di ritorno e argomenti opzionali. Un altro punto focale della lingua è la sicurezza. Ad esempio, l'applicazione non si arresta in modo anomalo quando si accede a un elemento di una matrice che non rientra nei limiti dell'array.
Questo significa che ogni sviluppatore di Cocoa deve iniziare da zero in termini di apprendimento dello sviluppo del cacao? No. La bellezza di Swift è che si integra perfettamente con Cocoa e Cocoa Touch.
Se esplori alcuni dei campioni di codice di Apple, noterai subito due cose. Innanzitutto, la sintassi è molto facile da imparare. È meno prolisso rispetto a C e Objective-C e più intuitivo. In secondo luogo, Swift sfrutta le API e i framework esistenti, il che significa che le tue conoscenze sulla creazione di applicazioni iOS e OS X ti daranno un vantaggio se decidi di adottare Swift nei tuoi progetti.
Anche se ci sono molte funzionalità del linguaggio Swift che meritano la nostra attenzione, vorrei evidenziare alcune delle quali ci vorrà un po 'di tempo per abituarti se sei uno sviluppatore Objective-C.
In Swift, i tipi sono dedotti, il che significa che non devi più dichiarare una variabile come NSString
o NSDictionary
. Il compilatore è abbastanza intelligente da dedurre il tipo e ottimizzerà persino il codice dietro le quinte.
Dì addio ai file di intestazione e implementazione. Swift elimina completamente i file di intestazione e sono sicuro che non ti dispiace.
Come Ruby e CoffeeScript, non è necessario terminare una riga di codice con un punto e virgola a meno che una riga contenga più istruzioni.
Swift gioca bene con Objective-C e C. Infatti, Swift utilizza lo stesso runtime Objective-C. Puoi usare Swift e Objective-C nello stesso progetto senza problemi. Questo renderà la migrazione da Objective-C a Swift un po 'meno di un compito monumentale.
Anche se Xcode 6 è ancora in versione beta, Apple ha anche pianificato una grande release per il suo ambiente di sviluppo integrato. Xcode 6 aggiunge il supporto per Swift, visualizza il debug, migliora il supporto per la localizzazione dei progetti, il rendering live in Interface Builder, i font iOS personalizzati e il supporto per le estensioni.
Questa è solo una piccola selezione delle nuove funzionalità e miglioramenti di Xcode 6. Se ti stai chiedendo su cosa ha lavorato Apple negli ultimi anni, non ti chiedere più.
Sono d'accordo con Joshua Topolsky e Craig Hockenberry, il tono del keynote era incredibilmente ottimista. Apple è pronta ad affrontare la concorrenza e ha trovato nuovamente la sua fiducia. Tim Cook non ha perso nessuna occasione per prendere in giro Android di Google e mostrare alla gente che Apple è ancora il leader dello spazio mobile.
Google I / O è dietro l'angolo e non vedo l'ora di vedere cosa ci riserva Google. Non è mai stato un momento migliore per diventare o diventare uno sviluppatore mobile.