Video: History of the iPhone (Novembre 2024)
L'annuale Worldwide Developers Conference (WWDC) di Apple è stata recentemente il luogo in cui l'azienda introduce nuove versioni dei suoi sistemi operativi Mac OS X e iOS e la versione di quest'anno non ha fatto eccezione. Ma ciò che mi ha colpito è stato che il keynote di quest'anno si è concentrato maggiormente sugli sviluppatori con una serie di nuove API e servizi condivisi, un modello per la creazione di giochi e persino un nuovo linguaggio di programmazione. Nel loro insieme, questo è a dir poco un ripensamento dell'ecosistema degli sviluppatori di Apple mentre la società cerca di posizionarsi per il futuro. Alcuni dei risultati di questo approccio dovrebbero comparire a breve nelle applicazioni, ma è probabile che il reale impatto sarà visto per un periodo di anni, quando gli sviluppatori si sentiranno davvero a proprio agio con i nuovi strumenti.
La maggior parte di questi strumenti fa parte di iOS 8, con il CEO di Apple Tim Cook che afferma che consentirà agli sviluppatori di "creare app che non avevano mai sognato prima". In totale, ci sono 4.000 nuove API, secondo il vicepresidente senior di Ingegneria del software Craig Federighi di Apple.
Cook ha affermato che l'App Store ha ora 1, 2 milioni di app, con un totale di oltre 75 miliardi di app scaricate. Ha affermato che sono state apportate alcune nuove modifiche al negozio, rendendo più semplice per i clienti la ricerca di app e per gli sviluppatori la promozione delle loro app. Tra questi ci sono "bundle di app", che consentono agli sviluppatori di offrire più app a un prezzo scontato; brevi video per visualizzare l'anteprima delle app; e un nuovo servizio di beta test chiamato Test Flight. Come con iOS 8, questo sarà disponibile in autunno. Insieme, ha affermato Cook, le nuove funzionalità rendono iOS 8 la "più grande versione dal lancio dell'App Store".
In un certo senso, il più grande cambiamento filosofico in iOS 8 sembra essere una mossa verso una maggiore estensibilità. Attualmente in iOS, tutte le applicazioni vengono eseguite nei propri "sandbox", garantendo sicurezza e stabilità. Ma ora, le app possono estendere il sistema e offrire servizi ad altre app ed essere eseguite all'interno di tali sandbox. Ad esempio, un'app potrebbe ora offrire filtri fotografici nelle app Foto.
Federighi ha dimostrato come creare un "foglio di condivisione" che funzioni all'interno del browser Safari e come Bing Translate potrebbe ora funzionare come un servizio all'interno del browser cambiando la pagina da una lingua all'altra. Ha anche mostrato filtri fotografici di terze parti all'interno dell'app Foto e widget di ESPN SportsCenter ed eBay all'interno del Centro notifiche.
Federighi ha anche affermato che il sistema ora consente tastiere di terze parti a livello di sistema e ha mostrato Swype come esempio. Altre estensioni espongono l'API della fotocamera per la prima volta e consentono alle applicazioni di terze parti di utilizzare Touch ID, in modo che gli utenti possano utilizzarlo per cose come gli acquisti in-app. (In precedenza, funzionava solo per iTunes. È un'opzione di pagamento interessante, anche se sono stato sorpreso di non sapere di più sui pagamenti al keynote.)
Complessivamente, questo sembra un grande cambiamento, rendendo iOS in molti modi molto più flessibile. Non è ancora abbastanza flessibile come OS X o altri ambienti desktop, ma è sicuramente più vicino. (Ad esempio, non hai ancora più app sullo schermo allo stesso tempo). Nel complesso, imposta iOS per essere un ambiente molto più ricco in futuro.
Connessioni salute, casa e cloud
Gli strumenti che potrebbero avere un impatto più rapido sono le nuove API che consentono agli sviluppatori di estendere le loro applicazioni esistenti.
Questi includono una serie di nuovi servizi che raccolgono informazioni precedentemente disponibili in singole applicazioni. Uno dei più importanti è HealthKit, un luogo unico in cui le applicazioni possono contribuire a un profilo composito della tua salute e forma fisica. Oggi ci sono molti dispositivi e applicazioni per il fitness e l'uso medico, ma tutti vivono in silos. Con HealthKit, l'idea è che su base per applicazione, è possibile specificare a quali parti del profilo si desidera che ogni applicazione possa accedere.
Federighi ha spiegato che Apple sta lavorando con fornitori come la Mayo Clinic, che consente all'ospedale di chiamare direttamente un utente se rileva che qualcosa non va guardando i dati da più applicazioni.
Un altro nuovo strumento chiamato HomeKit è progettato per fare cose simili per le applicazioni che controllano le cose in casa, come luci, lucchetti e termostati. Ciò comporta un protocollo di rete comune in grado di controllare singoli dispositivi, o anche più dispositivi, che Apple chiama Scene. Questo potrebbe essere integrato con Siri, quindi potresti chiedere a Siri di preparare la tua casa quando torni dopo una giornata in ufficio.
Dal momento che molte se non la maggior parte delle app oggi hanno un componente cloud, Apple ha introdotto CloudKit, un nuovo servizio per l'hosting di applicazioni cloud, gestendo cose come archiviazione, autenticazione e notifiche.
Federighi ha affermato che questo sarebbe effettivamente "libero dai limiti" poiché la capacità si ridimensionerebbe con il numero di utenti. Non ho sentito troppi dettagli qui, quindi non è chiaro come questo competerà con altri provider di cloud hosting per gli sviluppatori. Ma sembrava qualcosa che molti sviluppatori vorranno.
Il gioco migliora la grafica 3D
Le altre due aree hanno affrontato maggiormente la creazione di applicazioni a un livello più fondamentale. Sono rimasto un po 'sorpreso dall'enfasi posta sulla creazione di giochi.
Forse il più importante di questi è un set di API chiamato "Metal", che è progettato per consentire ai progettisti di giochi di scrivere più direttamente sul processore A7 di Apple (e presumibilmente anche sui futuri processori Apple), invece di utilizzare OpenGL ES più standard del settore.
Federighi ha affermato che il Metal riduce drasticamente il sovraccarico del set di istruzioni e consentirebbe un disegno fino a 10 volte più veloce e un multitasking efficiente. Tra gli sviluppatori del motore di gioco che stanno lavorando a questo ci sono Unity, Crytek, Electronic Arts ed Epic Games.
Il fondatore di Epic Games Tim Sweeney (sopra) ha dimostrato Zen Garden, un gioco demo per iPad che utilizzava materiali più realistici e aveva molte più animazioni di quelle che si vedono di solito nei giochi per cellulari. Ha detto che questo sarà offerto gratuitamente su iOS 8.
Ultimamente, abbiamo ascoltato molti metodi per aggirare le API più pesanti di OpenGL o Direct X, e l'ingresso di Apple dovrebbe consentire giochi più veloci e graficamente ricchi. È ancora improbabile che vedremo presto i dispositivi mobili ottenere la grafica dei giochi per PC di fascia media o alta, ma è un grande passo avanti.
Per i giochi più casual, Apple offre SpriteKit, un motore di gioco 2D introdotto lo scorso anno, e ora lo integra con SceneKit, con il rendering di scene 3D.
La venuta di Swift
Infine, e forse più sorprendentemente, Apple ha introdotto Swift, un nuovo linguaggio di programmazione progettato per sostituire l'ambiente Objective-C comunemente usato per produrre applicazioni Mac e iOS.Federighi ha detto che Objective-C "ci ha servito bene per 20 anni", ma era tempo di creare un nuovo linguaggio, che ha descritto come "Objective-C senza la C." Per la descrizione, questo sembra essere un linguaggio più veloce e moderno, ma che utilizza lo stesso modello di gestione della memoria e lo stesso runtime, quindi il codice Swift può essere eseguito insieme a Objective-C e C nella stessa app.
Il direttore degli strumenti per sviluppatori Chris Lattner (sopra) ha mostrato il nuovo ambiente, inclusa una demo di come esegue il codice durante la digitazione delle istruzioni. È stata una bella demo, anche se il vero giudice dovrà essere sviluppatori Apple dopo che avranno avuto più possibilità di usarlo davvero.
Conosco sviluppatori che si lamentavano del fatto che Objective-C non è moderno come alcune alternative, anche se in generale non li ho sentiti chiedere un nuovo linguaggio. Tuttavia, Apple aveva bisogno di qualcosa per competere con la suite di strumenti Google e Microsoft che sono stati notevolmente migliorati negli ultimi anni, con l'obiettivo di rendere più semplice la creazione di applicazioni mobili e cloud.
Complessivamente, quindi, si è trattato di uno spettacolo che ha davvero enfatizzato lo "sviluppatore" della Worldwide Developers Conference, cosa che non sempre è avvenuta. La conferenza aveva un motto di "Scrivi il codice. Cambia il mondo". Se il mondo cambierà è una domanda aperta, ma gli strumenti introdotti segnano sicuramente un cambiamento nel modo in cui sono scritte le app Apple.