Le 8 Juin dernier se tenait la célèbre conférence d’Apple destinée aux développeurs : la WWDC. Nous avons pu en apprendre beaucoup sur les nouveaux outils à disposition des développeurs, sur son tout dernier langage de développement, le Swift, ainsi que sur les diverses optimisations apportées à la distribution des applications iOS. Voici un léger aperçu de ce qui a retenu notre attention, et que nous tenions à partager avec vous.
Les applications seront beaucoup plus légères à télécharger depuis l’AppStore
Grace au nouveau système d’Apple nommé App Thinning, les applications sur le store seront désormais optimisées pour ne déployer que les ressources nécessaires à l’execution de l’application pour un périphérique donné. Cette nouvelle optimisation se présente sous 3 angles :
- Le Slicing
- Le Bitcode
- Le On-Demand Resources
Grace au Slicing, les applications n’enverront désormais que les jeux d’images utilisés par le périphérique. Vous savez déjà que pour une ressource image dans une application iOS, le développeur doit fournir son image en plusieurs formats : en @2x pour les écrans rétina, et @3x pour les hautes résolutions. Dorénavant lorsque vous téléchargerez une application sur le store, celle-ci vous sera automatiquement envoyé avec le jeu d’image correspond à votre périphérique, plus besoin de télécharger ce surplus de ressources qui ne pouvait pas vous servir.
Ensuite, grâce au Bitcode, Apple pourra automatiquement compiler votre application soit en 32 bits soit en 64 bits afin de vous livrer la version adéquate. Il s’agit là d’une représentation intermédiaire de votre code compilé.
Enfin avec le On-Demand Resources, les développeurs pourront taguer des ressources de leur application afin de les rendre optionnelles. Celles-ci seront téléchargées plus tard depuis l’AppStore uniquement lorsque l’utilisateur tentera d’y accéder depuis son application. Par exemple, dans une application type jeu de questions réponses, où les questions sont rangées par catégories, inutile de télécharger l’intégralité des questions lors du premier téléchargement de l’application. Les catégories de questions pourront être téléchargées plus tard à la volée, lorsque l’utilisateur changera de catégorie.
Cette nouvelle optimisation permettra d’alléger le poids des applications sur vos périphériques. Aucun chiffre exact de gain de stockage n’est donné pour l’heure, mais en se basant sur le poids moyen des applications, on peut déjà envisager une réduction d’au moins 40% du poids global d’une application.
Swift arrive en version 2
Swift, encore jeune langage de développement, apporte chaque année son lot de nouveautés et de nouvelles pratiques d’écriture de code. Il serait impossible de toutes les énumérer ici, mais l’une d’entre elle a retenu notre attention : Swift 2 autorise désormais l’extension de protocoles, ce qui vous permettra d’ajouter vos propres fonctionnalités sur une classe existence, une structure ou même une énumération.
Plus rien ne vous empêche désormais d’ajouter comme par exemple avec le code ci dessus, une méthode qui parcourt tous les éléments d’une liste en ne comptant que ceux répondant correctement à vos tests. L’intérêt ici, est que cette méthode sera disponible sur n’importe quel élément héritant du type Collection.
Au programme de Swift 2, de nombreuses autres améliorations ont étés apportées à la gestion des erreurs avec la possibilité notamment d’ajouter des try catch, un meilleur affichage des objets depuis la console, le compilateur a été remanié pour afficher au mieux l’erreur d’exécution rencontrée par l’application, et encore beaucoup d’autres choses. Tout cela, est d’ores et déjà à disposition des développeurs. Une simple installation de la version Beta de xCode 7 vous permettra de profiter de toutes ces nouveautés.