La fonction App Thinning d'iOS 9 est désormais disponible

Publié le lundi 5 octobre 2015 dans la catégorie G33K

Grâce aux récentes mises à jour d'iOS 9.0.2 et d'Xcode 7.0.1, la fonction App Thinning promise par Apple lors de la WWDC 2015 est à nouveau disponible pour les développeurs. Mais qu'est-ce donc ?

Un peu de considération pour les iPhone/iPad de 8 et 16 Go

Avec iOS 8, Apple n'avait vraiment pas fait de cadeau aux possesseurs d'iPhone de petites capacités de stockage. En effet, cette mise à jour système nécessitait au moins 4,6 Go d'espace libre pour pouvoir être installée et les utilisateurs étaient bien souvent contraints à supprimer quelques applications, ou à faire du tri dans leur bibliothèque pour obtenir cet espace requis.

Avec l'arrivée d'iOS 9, cette plaie n'est plus qu'un vilain cauchemar, car Apple a décidé de réduire ces 4,6 Go d'espace libre nécessaires à seulement 1,3 Go lors de la mise à jour "Over The Air" vers son nouvel OS mobile. Autant dire que cela va faire un bien fou aux propriétaires d'appareils d'entrée de gamme, qu'Apple avait laissé de côté pendant la période 2014/2015.

iOS 9 iPhone update

Cette bonne nouvelle s'accompagne également d'une technologie baptisée "App Thining", mise à la disposition des développeurs pour enfin pouvoir adapter leurs apps au stockage de chaque utilisateur en fonction de l'appareil qu'il utilise. Pour faire simple, chaque application pourra être optimisée pour l'appareil sur laquelle elle sera installée. On vous explique comment !

Tous les iPhone ne nécessitent pas les mêmes ressources

Cette nouvelle optimisation "App Thining" va permettre aux propriétaires d'appareils sous iOS de profiter d'une bien meilleure expérience utilisateur (UX), et ce grâce à trois différents procédés mis à la disposition des développeurs.

Jusqu'à présent, une application contenait le même nombre de données que vous l'installiez sur un iPhone 5C ou un iPhone 6s Plus par exemple. Vous en conviendrez, ce fonctionnement est une totale ineptie au vu des écarts de performances entre les différents iPhone présents dans la gamme d'Apple.

En effet, un iPhone 6s Plus utilise du code en 64-bits et une résolution en "3X" lorsqu'un iPhone 5C ne demande que du 32-bits et du "2X". L'utilisateur de l'iPhone le plus vieux est donc pénalisé par le poids de l'application, qui contient bien plus de données (dont la version iPad pour une app universelle) qu'il n'en est nécessaire pour fonctionner normalement sur cet appareil.

Avec l'arrivée d'App Thining, chaque iPhone pourra télécharger une version optimisée d'une application ne contenant que les données qui lui sont nécessaires, libérant ainsi de l'espace de stockage qui aurait été utilisé par du code inutile.

Slicing, ODR et Bitcode : trois manières d'optimiser les applications

Cette technologie "App Thinning" est une véritable aubaine pour les développeurs, qui ont à leur disposition trois procédés différents pour adapter leurs apps à chaque appareil.

Slicing

Le processus "Slicing" (tranchage en bon français) est une véritable révolution qui va permettre aux développeurs de continuer à envoyer des versions complètes de leurs applications dans iTunes Connect tout en proposant une version adaptée à chaque appareil grâce à une compilation effectuée par l'App Store.

App Slicing iOS 9

Slicing va créer plusieurs variantes de l'application "complète", que l'App Store délivrera en fonction de l'appareil utilisé lors du téléchargement. Les images sont triées en fonction de la résolution et de la catégorie de l'appareil, et les ressources graphiques en fonction des capacités de chaque iDevice.

Cette solution n'est donc pas contraignante pour les développeurs qui n'ont en réalité qu'à fournir toutes les ressources demandées par la documentation dans une application "complète" comme ils le font actuellement.

On-Demand Ressources

Ce processus est un peu plus complexe et contraignant que le précédent pour les développeurs, mais il est bien évidemment plus respectueux vis-à-vis du stockage des appareils.

Certaines applications contiennent des tutoriels, des achats in app ou encore différents niveaux (notamment les jeux) dont vous n'avez pas nécessairement besoin tout le temps. Un tutoriel ne servira qu'une fois ou deux, et pourtant il continuera à prendre de la place, même une fois que vous aurez terminé le jeu !

Et bien le processus On-Demande Ressources est là pour pallier ceci !

On Demand Ressources iOS 9

Pour faire simple, les applications soumises à iTunes Connect par les développeurs devront être divisées en plusieurs groupes. Par exemple ils pourront classer les données en fonction des niveaux, images, musiques, achats in app, etc., pour ne fournir à l'utilisateur que ce dont il a besoin à chaque moment.

En bon samaritain, l'App Store s'occupera de stocker les données des apps de tous les développeurs, de les distribuer lorsqu'il en sera nécessaire, et de les retirer de l'appareil quand elles n'auront plus d'utilité ! Cerise sur le gâteau, l'App Store s'occupera également du "Slicing" pour ces applications.

On peut se demander si ce processus ne limite pas les apps dans le cadre d'une utilisation hors connexion par exemple, qui induirait une impossibilité pour l'App Store de vous envoyer les données manquantes. Certes de l'espace de stockage est gagné, mais cela peut poser quelques soucis en terme de réception de données, à voir quand ce dispositif sera en place.

Bitcode

Dernier processus d'optimisation de la liste, Bitcode (code binaire) ! C'est une représentation intermédiaire d'un programme compilé (comprenez une application) qui permet à l'App Store d'adapter la compilation finale en fonction de l'appareil sur lequel l'application est téléchargée.

waterminder apple watch

Ce Bitcode est obligatoire pour les applications natives sous watchOS 2, mais reste optionnel pour les apps sous iOS. Il présente cependant un avantage non négligeable pour les développeurs qui n'ont plus besoin de soumettre de nouvelles versions pour les adapter aux nouveaux appareils, Apple pouvant de son côté optimiser chaque application grâce au Bitcode.

Voilà pour App Thinning, fonction que je trouve fabuleuse et que j'ai hâte de voir en situation réelle. Pour profiter des premières applications utilisant App Thinnig, il vous faudra absolument un appareil sous iOS 9.0.2 au minimum.

Je vous fait des bisous et vous souhaite une bonne journée.

Article écrit par LoKan Sardari 🦓🧠 Ultralearner | 👨🏻‍💻 Entrepreneur | 🏋🏻 Athlete | 📷 Pixel lover | 🎒 Travel addict

Commentaires

Les commentaires doivent rester un lieu d’échange courtois et agréable.

Vous êtes donc invité à respecter le travail effectué sur ce site, les personnes à qui vous répondez, ainsi que la langue française.

Tout commentaire ne respectant pas ces conditions, ou étant profondément hors sujet, sera écarté du débat.

Si vous désirez afficher un avatar, associez-le à votre adresse mail grâce au service Gravatar.

Écrire un commentaire

Your email address will not be published. Required fields are marked *

  1. Benoît Moisan says:

    Je ne connaissais pas l'app avant de lire cet article et elle a l'air géniale! On verra ce que ça donne en pratique.
    Quoi qu'il en soit, très bon descriptif !

  2. Florent Tixier says:

    Super article expliquant parfaitement les 3 concepts 😉
    Pour ma part, je trouve qu'il manque une option dans iOS pour pouvoir vider le cache des applications car il prend souvent plus de place que l'application elle-même.

  3. Bruno says:

    Super article et bonne initiative d'Apple.
    Mais pour moi il y a un problème... La synchronisation des applications "iPhone vers iTunes" est du coup impossible, il faut faire la mise à jour ou télécharger la nouvelle application également sur iTunes (et ayant une très mauvaise connexion internet, c'est pas super).

    1. LoKan Sardari says:

      Salut Bruno,
      Perso, et depuis toujours, je télécharge automatiquement toutes les applications que j'ai sur l'iPhone, dans iTunes. Comme ça, si Apple supprime une application, hop, j'ai quand même ma copie en local.

      1. Bruno says:

        J'ai toujours une copie dans iTunes également, mais ayant une très mauvaise connexion internet chez moi j'avais toujours privilégié le téléchargement via l'iPhone et ensuite le transfert en faisant la synchro (du moins pour les applications de moins de 100Mo).
        Maintenant il va falloir changer ses habitudes 🙂