Le 9 septembre dernier avait lieu la dernière keynote d’Apple avec son lot d’annonces plus ou moins déjà connues du grand public. Poussé par la forte croissance des ventes de smartphones XXL, Tim Cook a donc décidé de changer son fusil d’épaule en proposant 2 tailles de téléphones : 4,7 pouces pour l’iPhone 6 et 5,5 pouces pour l’iPhone 6 Plus.
Conséquence directe ce ces annonces pour le développeur : mettre à jour leurs applications pour tirer parti des nouvelles tailles d’écrans.
L’autre caractéristique technique qui aurait pu intéresser les développeurs est l’introduction du NFC dans l’iPhone 6. Malheureusement ils ne pourront pas encore avoir accès aux APIs. Apple a une approche go-slow avec cette technologie, qui est pour l’instant limité à l’Apple Pay. Mais au delà de ça, plus que l’iPhone 6, les vrais nouveautés pour le développeur viennent de la mise à jour d’iOS : iOS 8.
iOS 8
1. Les App extensions
Les extensions permettent aux développeurs d’étendre le champ d’action de leur application. Les contenus de vos applications sont disponibles lorsque l’utilisateur utilise d’autres applications.
1. Options de partage
iOS nous permettait déjà de partager des photos, vidéos sur le réseau social souhaité. Cette fonctionnalité a été ouverte aux développeurs. On peut désormais créer notre propre extension “share”.
2. Actions personnalisées
iOS 8 permet d’enrichir les actions disponibles sur les contenus, par exemple copier, assigner à un contact etc…
3. Menu “Aujourd’hui”
Les développeurs peuvent ajouter un widget dans le menu Today pour avoir un accès rapide à des informations essentielles contenues dans vos applications.
4. Édition de photos
On a désormais la possibilité d’ajouter des extensions à l’éditeur de photos. Par exemple, on peut ajouter notre filtre préféré dans le menu d’édition des photos :
5. Gestion de documents
Développer une extension “Document provider” permet d’ouvrir, de modifier des documents avec votre application depuis n’importe quelle application. Les documents peuvent aussi être partagés. Par exemple, lorsque vous ouvrez un fichier dans dropbox, vous pouvez désormais l’ouvrir avec votre application. Une fois ouvert, vous pouvez le sauver dans dropbox ou n’importe quel cloud storage provider. Cela peut être intéressant pour un application utilisant ses propres fichiers.
6. Custom Keyboards
On a désormais la possibilité de développer notre propre clavier. Le clavier modifié remplacera le clavier système.
2. Touch ID
Votre application peut désormais utiliser le Touch ID pour authentifier vos utilisateurs. Le framework LocalAuthentication est désormais disponible.
3. PhotoKit
Photokit fournit de nouvelles API pour travailler sur les photos et les vidéos. Vous pouvez plus facilement retrouver des photos, créer vos propres galeries et appliquer des filtres sur ces photos.
4. Manual Camera Controls
iOS 8 apporte une grosse mise à jour sur le framework AVFoundation avec l’addition des contrôles sur l’exposition, la mise au point, la balance des blancs.
5. HealthKit
La plateforme santé HealthKit centralise toutes les informations de l’utilisateur relatives à sa santé. Les applications tierces peuvent donc partager des informations grâce a à ces nouvelles APIs. Cette mutualisation des données permet de les centraliser et de les stocker dans un emplacement sécurisé. Au final, seul l’utilisateur décide quelles données il désire partager.
6. HomeKit
Le nouveau framework d’Apple pour la domotique. Il permet de contrôler et de communiquer avec les objets connectés. HomeKit permet d’effectuer 3 actions majeures :
- Découvrir des objets et les associer à une base de données multi-plateformes.
- Afficher, éditer et agir sur les données de configuration de la maison.
- Communiquer avec les objet connectés de la maison.
7. CloudKit
CloudKit est une solution complète de back-office qui aide les développeurs à éliminer l’écriture de code côté serveur, et met à disposition un environnement pour sauver et/ou récupérer les données de votre application. Les utilisateurs peuvent aussi se connecter à votre application avec leurs iCloud Apple Ids. CloudKit fournit l’authentification, les bases de données et un espace de stockage pour votre application.
8. Handoff
Une application supportant Handoff permet de transférer les activités de l’utilisateur sur tout ses devices :
Cela peut être intéressant de supporter le handoff si votre application est multi-plateformes.
9. Swift
Enfin, Apple introduit un nouveau langage de programmation pour Cocoa et Cocoa Touch : Swift. Il est conçu pour cohabiter avec l’Objective C d’ailleurs Swift utilise en effet le même compilateur que ce dernier (LLVM). Il a été conçu pour être plus simple et plus concis que l’objective C. Swift est un langage multi-paradigme. Il donne le choix entre l’orientée objets, la programmation structurée, le développement fonctionnel ou la programmation impérative.
La cohabitation avec l’objective C se fait assez simplement, d’autant plus que le sujet est bien documenté.