WWDC 2013 : Les nouveautés du iOS 7 SDK

La semaine passée a eu lieu la WWDC à San Francisco, la conférence annuel d’Apple ou est annoncé un bon nombre de nouveautés dans l’écosystème de la pomme.

L’évènement intéresse bien évidement les utilisateurs, fans et concurrents de la marque mais c’est surtout les développeurs qui l’attendent avec impatience et cette année, on ne peut pas dire qu’on a pas été gâtés .

Pour la partie visible de l’iceberg, un redesign complet de l’OS Mobile avec iOS 7,  mais aussi Mac OS Mavericks (C’est fini les félins !), iTunes Radio, Mac Pro, iCloud Keychain …

Si tout ceci vous intéresse, je vous conseil la keynote. (À regarder avec Safari)

La partie cachée se retrouve dans les SDK, diverses API offertes ou les nouveaux outils. C’est ce qui affecte le plus les développeurs et c’est de ça dont j’aimerai parler, et plus particulièrement des nouveautés du SDK iOS 7.

Si vous voulez tout d’abord avoir un aperçu des nouveautés sur iOS 7 qui sera disponible officiellement cet automne, je vous conseille d’aller voir ici.

Tous ces changements de design auront surement un impact sur de nombreuses applications. Par exemple, la transparence de certains composants telle la status bar. Il faudra revoir également la navigation, en intégrant les nouvelles “gestures” tel le swipe left pour faire un retour. Sur ces aspects de design, on en saura davantage dans les prochaines semaines car ça risque de bouger.

Si vous avez vu la vidéo du lien ci-dessus, vous avez pu vous apercevoir que iOS 7 n’est pas moins chargé en animation, bien au contraire. Apple a ajouté de la physique à son OS et veut aussi en faire profiter les développeurs. En effet, il est maintenant possible d’ajouter des comportements physiques à une vue via UIKit. Par exemple, on peut ajouter une force à une vue avec une UIPushBehavior ou faire collisioner des vues en les liant avec une UICollisionBehavior. FUN !

Le moteur physique se cachant sous ces nouveaux gadgets sympas est le même que celui de SpriteKit, un nouveau framework. Ce dernier est tout simplement un moteur de jeu 2D et 2.5D. Il en existe déjà mais celui la est fait par Apple et intégré dans le SDK.
Les développeurs de jeux pourront également profiter du nouveau Game Controller Framework, facilitant la connexion de hardware par bluetooth/wifi conçu pour iPhone/iPad.
Les jeux étaient déjà bien présents sur la plateforme, les utilisateurs peuvent se réjouir pour la suite.

Par contre, lorsqu’on parle de Multitasking, on ne peut pas parler de point fort de l’OS. Apple a toujours été très conservateur sur ces aspects. Pour cette version, l’OS s’ouvre d’avantage en permettant des mises à jour de données ou des transferts de fichiers en tâche de fond. On ne pourra pas maitriser complètement les temps d’exécutions, c’est l’OS qui se chargera de définir si il est approprié ou non. On n’a pas atteint la flexibilité d’Android sur ce point, mais il y a du progrès.

AirDrop, le moyen de communication rapide entre diffèrent device Mac à distance, est maintenant disponible sur iPhone/iPad et pourra bien évidement être piloté depuis son appli. Apple pousse également le MultiPeerConnectivity framework, permettant de faire du peer to peer entre devices proches.

Le framework JavascriptCore est maintenant intégré au SDK et permet facilement de créer ses propres VM Javascript ou de récupérer le contexte d’une custom  WebView pour exécuter des scripts depuis son application native. Plein de belles choses en perspective pour les applis hybrides.

Coté outillage, Apple s’industrialise … Un peu !
Avec le tout nouveau tout beau Xcode 5, on voit arriver de l’intégration continue et une meilleure présentation des tests unitaires dans l’IDE. Le debugger permet de voir en temps réel la consommation d’énergie ou l’utilisation du CPU. Interface Builder ajoute un mode preview de ses vues sans lancer le simulateur. Une gestion des assets par type de device a également été ajoutée.

Voila une partie de ce qui risque de changer notre vie en tant que développeur iOS jusqu’au prochain WWDC.

Apple WWDC 2011 : la Keynote !

San Francisco, lundi 6 juin 2011, il est 19h heure française. La musique s’éteint, la salle s’assombrit et c’est sous une standing-ovation que Steve Jobs ouvre le bal de la WWDC 2011 avec la traditionnelle Keynote.
La WWDC, c’est 5200 tickets vendus en moins de 2h, 120 sessions, 100 ateliers pratiques (labs) et plus de 1000 ingénieurs Apple.

Cette année, la présentation était consacrée à 3 sujets:
– Mac OSX Lion, successeur du fidèle Snow Leopard
– iOS 5 : le nouvel OS mobile de la firme pour les iBidules : iPhones, iPads, iPods
– iCloud : le cloud made in Apple, amazing…

Nous allons nous concentrer sur les deux sujets les plus brûlants, à savoir iOS 5 et le iCloud. Non pas que OSX Lion n’en vaille pas la peine, mais plutôt parce que iOS est de plus en plus omniprésent et qu’Apple va apporter un grand bol d’air frais avec sa solution de cloud computing grand public.


iOS 5

Commençons par l’OS mobile de Cupertino. iOS 5, c’est 1500 APIs et 200 nouvelles fonctions. Intéressons-nous aux nouveautés qui ont été présentées.

– les notifications ont été revues
Apple a voulu éliminer 2 défauts de la gestion actuelle des notifications sur iOS : la non persistance et les interruptions à répétitions pour l’utilisateur à chaque nouvelle réception. J’ai donc nommé : Notification Center, un endroit où se trouve toutes les notifs, et qui apparait comme sous Android, en glissant depuis le haut de l’écran. Le fonctionnement est le même que sur Android.
Finis les alertes au milieu de l’écran, une petite fenêtre apparait en haut de l’écran sous la forme d’un toast qui disparaitra de lui-même.
Autre bon point : les notifications apparaissent désormais listées sur l’écran verrouillé. Il était temps!

– NewsStand
Un endroit qui rassemble les publications sur abonnement. Il s’agit d’une sorte d’AppStore de magazines sur abonnement, avec une application dédiée et des téléchargements automatiques en fond de tâche.

– Intégration de twitter
Twitter est intégré à iOS, ce qui évite de se connecter dans chaque application.
Il est intégré dans toutes les applications Apple. On peut par exemple « twitter » une photo en deux taps, avec sa position.

– Safari
La nouveauté principale pour Safari est l’apparition de la longtemps attendue navigation par onglets pour l’iPad.
Safari intègre désormais son propre système permettant de se constituer une liste de pages à lire plus tard et de les classer, à la manière d’un Read It Later, le tout branché sur le iCloud, vous comprendrez pourquoi plus tard…

– Reminders
Un gestionnaire de tâche assez simple mais qui faisait défaut dans les versions précédentes et qui permet notamment de fixer un rappel lorsqu’on arrive à un endroit ou qu’on en part.

– Photos
Il est désormais possible de prendre une photo depuis l’écran verrouillé. On peut prendre une photo avec les boutons de volume. La gestion de l’exposition et le zoom, ont été revus : on peut sélectionner la zone sur laquelle l’appareil doit se baser et zoomer en écartant les doigts. On peut également éditer ses photos depuis l’iPhone avant de les envoyer.

– iMessage
iMessage, qui permet de s’envoyer des messages, photos, vidéos, contacts, etc. entre les iPad, iPhone,… C’est une sorte de Blackberry Messenger made in Apple.

iOS 5 est prévu pour l’automne. Apple annonce une compatibilité à partir de l’iPhone 3GS, c’est plutôt une bonne nouvelle.


Au niveau des APIs, on notera les ajouts majeurs suivants:
– Automatic reference counting : une gestion de la mémoire injectée lors de la compilation afin de simplifier le travail du développeur. Jusqu’à présent, il fallait gérer la mémoire à la main sur iOS. Apple apporte ici un compromis intéressant entre le garbage collecting (c.f. Java) à mon sens peu adapté à l’embarqué et la gestion manuelle de la mémoire. Reste à voir les résultats obtenus avec ce nouvel outil…
– Storyboards : auparavant, on utilisait un fichier XIB pour chaque viewController, maintenant, on peut regrouper tout le flow d’écrans d’une application ainsi que les transitions au même endroit. Pourquoi pas…
– NewsStand Framework : pour créer son propre magazine sous la forme d’une application iOS. Le fonctionnement a l’air relativement simple et le résultat séduisant. Il suffit de tourner la page d’un livre pour comprendre la qualité d’animation mise en oeuvre. On peut même ne soulever qu’un coin de page pour se référer à celle de derrière, comme si on feuilletait un ouvrage papier.
– AirPlay : pour présenter du contenu (web, multimedia) depuis son iDevice vers une AppleTV
– GLKit : pour faciliter le développement en OpenGL ES 2.0
– CoreImage : pour la manipulation avancée d’images et de videos accélérée matériellement. On y trouve de nombreux filtres, dont un détecteur de visages
– Twitter : et oui, Twitter est maintenant intégré à l’OS. L’utilisateur pourra contrôler quelle application peut accéder à Twitter depuis les préférences de l’appareil. Ce framework s’appuie sur une autre API: Accounts
– Accounts : framework qui gère le process de certaines authentifications SSO afin de simplifier le travail du développeur et d’améliorer la User Experience, notamment en fournissant une IHM intégrée, plus besoin, donc, de créer des écrans de login pour ces services.
– La customisation des contrôles graphiques arrive enfin, en fournissant un mécanisme semblable aux CSS. Ceci permet de simplifier la gestion des thèmes au sein d’une application, au plus grand bonheur des développeurs.
– iCloud Storage APIs : 2 APIs pour parler avec les nuages, ce qui offre de nombreuses possibilités. L’une d’elles permet de stocker des documents sur le compte iCloud de l’utilisateur, l’autre permet de partager des petits volumes de données entre plusieurs instances d’une application.

iCLOUD

iCloud, c’est LE nouveau mot à Cupertino. iCloud va envoyer vos données à tous vos périphériques, automatiquement, y compris les calendriers, les données des applications et même vos sauvegardes!
MobileMe, le service de synchro d’Apple vit donc ses derniers jours. Les abonnés actuels voient leur abonnement maintenu gratuitement jusqu’en juin 2012 afin d’amorcer la transition en douceur.

Les applications qui supportent le cloud sont les suivantes:
– l’AppStore : un téléchargement sur l’iPhone va déclencher un téléchargement sur vos autres appareils
– iBooks : même chose, vous achetez un livre sur l’iPhone, il va être automatiquement synchronisé sur votre iPad.
Sauvegarde automatique des iPhone/iPad via le cloud en WiFi : préférences, photos, apps, iBooks…
– Documents : pour retrouver nos documents synchronisés sur tous nos devices. Une nouvelle version de iWorks devrait voir le jour.
– PhotoStream : PhotoStream permet de synchroniser automatiquement ses photos entre le Mac et les périphériques iOS. Les photos vont rester dans le Cloud pendant 30 jours, le temps de synchroniser tous les appareils.
– iTunes : si vous achetez un morceau de musique sur iTunes, celui-ci sera automatiquement copié sur vos autres appareils : Mac, iPad, iPhone, iPod.

La synchronisation est entièrement automatique et transparente pour l’utilisateur. Cela fonctionne sur 10 appareils maximum pour un même compte. Tout ceci est entièrement gratuit.

iCloud ne fonctionnera qu’à partir de iOS 5, il faudra donc encore patienter. Vous aurez droit à 5Go de stockage, sachant que les apps, photos, livres et musiques ne comptent pas dans ce volume. Il sera toutefois possible d’acheter de l’espace « iCloud » pour les plus gourmands.


One More Thing!
iTunes Match : pour profiter du cloud avec les musiques qu’on n’a pas achetées sur iTunes et synchroniser toute sa musique. Ce service est cependant payant: $25,99 par an.

Apple vs. Adobe : le combat continue…

L’iPhone OS 4.0 a été présenté lors de la Keynote du 8 avril. Apple en a profité pour faire évoluer les conditions d’utilisation du SDK. Il est désormais interdit d’utiliser un quelconque mécanisme de traduction ou de génération de code pour produire de l’Objective-C à partir d’un autre langage. Dorénavant il faudra donc obligatoirement passer par la case Objective-C pour développer des applications natives sur l’OS mobile de la Pomme.

Exit donc Flash CS5 attendu par beaucoup car il devait permettre de développer une application iPhone en Flash et de la traduire ensuite en Objective-C. Un produit pas encore sorti et déja mis à l’écart par Apple. Quelle va être la réaction d’Adobe face au protectionnisme de Steve Jobs?

Pour en savoir plus, rendez-vous sur Mac 4 Ever

[MàJ]

Un article plus complet sur les outils impactés par ce changement de politique chez MacGeneration