WWDC : Apple dépoussière OS X, iOS et dévoile un nouveau langage
mar, 03/06/2014 - 08:56
Très attendue, la conférence développeur d’Apple, la WWDC, s’est ouverte le 2 juin. Pas de nouveaux matériels, mais une conférence d’ouverture focalisée sur OS X 10.10 (Yosemite) et iOS 8.
Apple a voulu mettre en avant les nouveautés pour les utilisateurs, les changements d’interface pour OS X 10.10 et surtout une interaction entre un Mac et un terminal iOS bien plus étroite qu’avant avec « continuity ». Je suis sur Numéro ou Pages, j’aurai exactement le même document sur mon Mac et mon iPhone ou iPad. Partager des documents sera bien plus simple avec la fonction AirDrop totalement compatible entre les terminaux. On pourra même prendre un appel sur iPhone depuis son Mac ou envoyer un appel de son Mac à son iPhone. Apple a annoncé iCloud Drive, en concurrence avec DropBox ou OneDrive.
L’idée directrice n’est pas de révolutionner l’interface mais bien d’aider l’utilisateur et d’être le plus simple, le plus transparent possible.
iOS 8 poursuit la route tracé avec iOS 7 : clavier plus modulaire, clavier prédictif, notification interactive, moteur de recherches améliorée. Des fonctions que l’on voit souvent sur Android ou Windows Phone. Cependant, Apple a dévoilé qu’une petite partie des nouveautés. En réalité, la plus nouveauté est l’application HealthKit. Cette application dédiée santé centralisera les données provenant des applications tiers, de capteurs et des appareils médicaux connectés. HealthKit pourra ensuite afficher les données et les applications tiers pourront s’y connecter. Apple a travaillé avec de nombreux institutions médicales américaines et de nombreux constructeurs d’appareils et d’objets santé sont ou seront compatibles, en attendant qu’Apple dévoile éventuellement son propre matériel.
Apple souhaite bâtir un écosystème pour aller plus loin par la suite. Une stratégie prudente mais ayant une certaine logique pour Apple qui ne cherche pas forcément à tout faire seul dans son coin.
La démarche avec HealthKit est aussi présente avec l’autre grosse nouveauté : HomeKit. Ce SDK est dédié domotique. Apple veut rationaliser, organiser la domotique en fournissant une structure logicielle claire et définie s’appuyant sur un protocole unifié. Aujourd’hui, la domotique ressemble un terrain miné où chaque constructeur, ou presque, défini ses propres normes et protocoles.
Apple a dévoilé une nouvelle couche 3D qui s’annonce bien plus performante que la couche actuelle : Metal. Metal a été optimisé pour les processeurs A7, il est massivement multithread, utilise au mieux les ressources machines et graphiques. Il précompile les shaders. Les premières démos sont réellement impressionnantes. Apple veut-il (enfin) proposer une couche graphique dans iOS digne de ce nom ? La réponse est oui. A cela se rajoute de grosses nouveautés sur SpriteKit et SceneKit !
Objective-C est presque mort, bonjour Swift
La très grosse surprise, totalement inattendue, a été la présentation du nouveau langage officiel d’Apple : Swift. Jusqu’à présent, les développeurs utilisaient Objective-C (avec du C). Ce langage est hérité de NeXT. Malgré des évolutions dans le langage, Apple avait une assez faible marge de manœuvre. Et la syntaxe particulière n’était pas à son adoption… Avec Swift, Apple veut tout remettre à plat et proposer une syntaxe bien plus fluide tout en réduisant le code nécessaire.
Swift se veut un langage moderne : closures, generics, namespaces, compilation native, simplification de la gestion de la mémoire... Il est taillé par Cocoa et Cocoa Touch, les deux couches fondamentales de OS X et de iOS. Swift reprend des éléments d’Objective-C mais l’objectif est bien d’attirer de nouveaux développeurs et de leur faciliter le codage pour proposer quelque chose plus proche d’un JavaScript par exemple, d’un langage de script classique.
Swift est clairement le remplacement d’Objective-C et du C dans le modèle de développement OS X et iOS. Contrairement à ce que l’on peut lire parfois, ce langage sera utilisé pour l’ensemble des systèmes et plates-formes Apple. D’autre part, dans un même projet, on pourra mixer Swift, Objective-C, C. Pour aider à la migration progressive.
Un hello world en Swift se résume à println("Hello, world"), en Objective-C, il faut bien plus de lignes de code…
Pour la compilation et les performances, Swift s’appuie sur le nouveau modèle LLVM, désormais utilisé ou en passe de l’être par de nombreux éditeurs comme Mozilla ou Google. La maintenance des applications devrait gagner en efficacité.
Le langage est disponible dans la nouvelle version de l’environnement de développement Apple : XCode 6. Il supporte le langage dans les éditeurs, le debug, la compilation. XCode 6 est accessible dès maintenant en pré-version. Il nécessite 10.9.3 minimum. Apple propose gratuitement sur iBooks, un livre sur Swift très complet.
OS X 10.10 et iOS 8 sont disponibles pour les développeurs dès maintenant. Les versions finales sont attendues pour l’automne. Une bêta publique de Yosemite sera dévoilée cet été.
François Tonic