Apple avait complètement refait la carrosserie d’iOS 7 ? Elle a maintenant complètement refait le moteur, la transmission et l’habitacle d’iOS 8. Et au passage, elle a inventé un nouveau carburant.
Un App Store plus accueillant
« Je lis vos courriers ! », s’est exclamé Tim Cook pendant le keynote d’envoi de la WWDC 2014. De la même manière que certains utilisateurs ont poussé un « enfin » devant leur écran, les développeurs n’ont pas retenu leurs applaudissements face au CEO d’Apple.
Il faut dire qu’il a répondu à quelques-unes de leurs demandes les plus insistantes, à l’exception de la possibilité de répondre aux commentaires laissés sur l’App Store. La découverte de nouvelles applications est par exemple facilitée par la nouvelle section Explorer et les suggestions de recherche (recherches populaires et recherches liées).
Encore ne faut-il pas seulement trouver des apps, il faut trouver celle qui sort du lot. Les résultats de recherche défilent verticalement et non plus horizontalement, et Apple signale ses coups de cœur par une pastille Sélection de l’App Store.
Pour attirer le chaland, les développeurs peuvent désormais former des bundles d’application, une nouvelle qui a été accueillie avec enthousiasme. Et comme sur le Google Play, les fiches de l’App Store peuvent désormais être illustrées par des vidéos.
Enfin, Apple a fait bon usage de son acquisition de Burstly : l’outil de distribution de versions de développement TestFlight est directement intégré à l’App Store (gratuitement). Les testeurs d’applications retrouveront les nouvelles builds au côté des mises à jour des autres applications, ce qui simplifiera grandement le processus d’évaluation.
Un iOS plus ouvert
iOS 8 s’enrichit de plus de 4 000 nouvelles API, dont les plus importantes vont toutes dans la même direction, celle d’une plus grande ouverture, d’une plus grande modularité, et d’une meilleure communication entre les apps. Grâce au système d’extensions, qui rappelle par certains points feu OpenDoc, les fonctions des applications ne sont plus limitées au strict cadre de ces applications.
Bing Translate, pour suivre l’exemple d’Apple, peut se déclarer comme service de traduction. Dans Safari, on peut alors taper sur le bouton Partager : sur une page rédigée dans une langue étrangère, Bing Translate apparaît parmi les options. Un tap de plus, et la page est traduite, sans que l’on soit sorti de Safari.
De même, l’application Photos peut piocher dans les filtres de VSCO Cam, Mail peut envoyer un lien vers Pinterest — et toutes les apps peuvent placer des widgets dans le Centre de notifications.
Cette flexibilité ne se fait pas au détriment de la sécurité : Apple n’a pas renié le principe du confinement des apps à leur bac à sable. C’est le système lui-même qui fait office de médiateur entre les apps et gère ces extensions. Le principe est le même pour les claviers alternatifs, autre nouveauté d’iOS 8 : par défaut, ils remplacent le clavier de base sans pour autant avoir le droit de sortir de leur bac à sable très restreint, et sont contrôlés très étroitement par le système — mais l’utilisateur peut leur donner la permission de se connecter à internet s’il le souhaite.
Comme prévu, Touch ID est désormais accessible par le biais d’une API. Là encore, le système joue le rôle de chef d’orchestre : les apps ne « voient » jamais l’empreinte digitale, mais reçoivent un « oui » ou un « non » et prennent des décisions en fonction. Il devrait donc être prochainement possible de s’authentifier dans de nombreuses apps simplement en posant son doigt sur le bouton d’accueil.
Les autres API sont sans doute moins visibles, mais n’en demeurent pas moins utiles. Camera Kit offre enfin un accès complet aux fonctions du capteur photo et permet aux développeurs de fournir un contrôle manuel de l’exposition ou de la mise au point. Photo Kit, lui, permet désormais de concevoir des applications de retouche non-destructive.
Apple ne s’est pas lancée dans la domotique, mais a annoncé une API dédiée à ce marché, HomeKit. De la même manière que HealthKit fait le lien entre toutes les apps et matériels « santé », HomeKit doit faire le lien entre toutes les apps et matériels « maison ». L’idée est que l’iPhone ou l’iPad puisse contrôler facilement tous vos appareils connectés, sans avoir besoin de naviguer entre différentes apps — à terme, vous pourrez dire « je vais me coucher » à Siri, et votre appareil iOS déclenchera le scénario prédéfini qui fermera votre volet, verrouillera votre porte et éteindra vos lumières.
CloudKit est censé résoudre les problèmes de stockage et de synchronisation dans le nuage des développeurs — même ceux qui sont récemment passés à Microsoft Azure pour ce genre de choses. Apple offre un ensemble de services complètement gratuit, du moins jusqu’à certaines limites… fixées à 1 Po de stockage et 10 To de bases de données. Enfin, de nouvelles APIs promettent de véritables percées sur le front des graphismes, mais il faudra leur réserver un article pour leur rendre justice.
Et un langage très Swift
D’autant que, l’air de rien, Apple n’a ni plus ni moins que présenté un nouveau langage de programmation, Swift (à ne pas confondre avec l’autre Swift). Présenté comme « rapide » — d’où son nom –, il ne remplace ni le C, ni l’Objective-C, mais les complète à un plus haut niveau et avec une syntaxe « moderne ».
Le code Swift est compilé en langage natif par LLVM, et une app peut tout à fait comporter du C, de l’Objective-C et du Swift. C’est un nouveau langage certes, mais il prend en charge toutes les API Cocoa et Cocoa Touch et intègre ARC. Les développeurs pourront se faire la main avec un bac à sable qui compile le code dynamiquement : le « résultat » apparaît immédiatement, un principe cher à l’ancien ingénieur d’Apple Brent Victor.
Les développeurs pourront soumettre des apps contenant du code Swift dès la disponibilité d’iOS 8 et d’OS X Yosemite cet automne. En attendant, ils pourront consulter l’épaisse documentation fournie par Apple dans le portail qui leur est réservé et dans un livre publié sur l’iBooks Store.