Lors de sa WorldWide Developer Conference, Apple a annoncé son nouveau système d'exploitation mobile, iOS 8, en plus de nouveaux SDKs et outils de développement. Plus de 4 000 nouvelles APIs sont annoncées, incluant des frameworks comme HealthKit, HomeKit, CloudKit, et l'amélioration des capacités de la plateforme de jeux.
-
Swift
La plus grande surprise lors de cette WWDC, selon The Verge, est Swift, qu'InfoQ a déjà présenté récemment. Swift est un nouveau langage qui vise à être hautement expressif avec le support de closures, de multiples valeurs de retour, de génériques, et de patterns fonctionnels comme map et filter. Swift permet également l'utilisation de concepts de programmation modernes comme l'inférence de types, tout en conservant les paramètres nommés d'Objective-C et en introduisant une notion de namespace. Le code Swift peut co-exister avec du code Objective-C dans le même projet pour rendre son adoption plus facile. Des informations plus détaillées sont disponibles dans "The Swift Programming Language", ebook disponible gratuitement.
-
HealthKit
HealthKit est un nouveau framework permettant d'accéder à des données centralisées concernant la santé de l'utilisateur. Cela laissera la possibilité aux applications de partager leurs données avec la nouvelle application Health incluse dans iOS 8. L'API devrait permettre par exemple à une application de nutrition de partager le nombre de calories consommées chaque jour avec des applications de fitness.
-
HomeKit
HomeKit est un nouveau framework pour contrôler et communiquer avec des objets connectés dans la maison de l'utilisateur. Les applications peuvent laisser les utilisateurs connecter leurs appareils et les configurer, ou intéragir avec des actions spécifiques. Il est possible de grouper les actions et de les lancer en utilisant Siri. HomeKit définit un protocole spécifique pour supporter des accessoires connectés.
-
CloudKit
CloudKit permet aux applications de se connecter sur iCloud en utilisant l'Apple ID de l'utilisateur, et sans partager d'informations personnelles. Selon TechCrunch, ne pas l'autoriser dans le passé a été une grande souffrance pour les développeurs, les forçant à se tourner vers des solutions tierces comme Microsoft Azure, Google Cloud Platform, ou Amazon Web Services. Ajouter le support de fonctionnalités comme l'authentification, la recherche et les notifications, devrait être maintenant bien plus simple.
-
SpriteKit
SpriteKit avait été introduit avec iOS 7 pour permettre aux développeurs de créer des jeux en 2D. Dans iOS 8, Apple a apporté de nombreuses améliorations pour présenter des héros ayant des mouvements plus naturels et utiliser des champs de force, détecter les collisions facilement, ou encore gérer des effets de lumière.
-
SceneKit
SceneKit est un nouveau framework pour iOS 8 pour générer des scènes de jeux en 3D et est apparemment tourné vers le casual gaming. SceneKit intègre un moteur physique, un générateur de particules, et une solution pour scripter facilement des actions sur les objets 3D. Il est compatible avec SpriteKit, les développeurs pourront donc utiliser des ressources SpriteKit dans leurs jeux 3D.
-
Metal
Pensé pour les studios créant des jeux hautement immersifs sur consoles, Metal vise à laisser profiter au maximum des performances des puces A7. Comme Touch Arcade le souligne, le désavantage d'iOS par rapport aux consoles de jeux a toujours été le manque d'un accès direct au hardware: Tout doit passer par OpenGL. Avec Metal, dit Touch Arcade, le surcoût d'OpenGL devrait être minimisé à un point que cela ne sera presque plus un problème. De son côté, Apple se vante de multiplier par 10 les performances de rendu. Le support de Metal a été annoncé par plusieurs concepteurs de moteurs de jeux, notamment Crytek, Unity et Epic Games.
-
Touch ID API
Touch ID est une fonctionnalité de reconnaissance d'empreinte digitale supportée uniquement sur l'iPhone 5S. Avec iOS 8, pour la première fois, les développeurs pourront intégrer Touch ID pour se connecter à des applications tierces sans rentrer de mot de passe.
-
PhotoKit
Dans iOS 8, il est possible d'éditer des photos directement depuis l'appareil photo, sans avoir à les importer dans un premier temps.
-
Camera API
Les applications de photo bénéficieront maintenant d'un contrôle précis de l'exposition, du focus, et de la balance des blancs.
En plus d'iOS 8, Apple a annoncé la beta de XCode 6, une nouvelle version de son environnement de développement qui supportera les nouvelles fonctionnalités de l'OS, en incluant Swift. XCode 6 apporte de nombreuses améliorations :
- Rendu 3D de chaque couche d'une pile de vues pour faciliter le debugging et aider à identifier des vues mal positionnées ; inspecter les contraintes des layouts, etc.
- Support de tests de performance dans le framework de tests unitaires XCTest.
- Rendu instantané du code Swift dans l'Interface Builder pour refléter les changements dans le Storyboard de l'application.
Apple a rendu disponible la beta du SDK iOS 8 et de XCode 6 à tous les développeurs enregistrés membres d'un programme développeur iOS.
La sortie finale d'iOS 8 est prévue pour l'automne, comme mise à jour gratuite sur tous les appareils compatibles.