De la légèreté des apps iOS

Depuis bientôt 8 ans d’existence, les apps iOS ont connu de nombreuses évolutions. Les amenant à prendre de l’embonpoint.

Depuis l’arrivée de iOS 9 en 2015, ces dernières ont subi quelques allègements. Il existe également quelques astuces permettant d’alléger le tout. Vous pouvez obtenir une réduction de poids d’environ 20 à 40 % en utilisant ces méthodes.

Les causes d’embonpoint d’une app

Une app ne grossit pas par la force des choses. Plusieurs sources sont en cause.

La compatibilité Retina

Il existe 3 types d’écrans pour les apps iOS :

  • classique (1 pixel d’image = 1 pixel à l’écran)
  • Retina (2 pixels d’image = 1 pixel à l’écran)
  • RetinaHD (3 pixels d’image = 1 pixel à l’écran)

Le principe est vulgarisé, mais si on souhaite profiter de manière optimale de la qualité de l’écran, une image de 300×300 en mémoire représentera un carré de 150×150 en Retina et 100×100 en RetinaHD.

Et, bien sûr, il faut obligatoirement les 3 types d’images, car sinon on subit une augmentation de l’utilisation de la mémoire.

Qui dit 3 types d’images dit 3 fichiers dans l’application pour un même contenu : ça fait mal !

La compatibilité avec les différentes architectures

Que l’ont ait un processeur ARM classique ou un processeur « Apple », une architecture 32 ou 64 bits, avec tel ou tel GPU, le constat est le même d’année en année : les applications grossissent pour être compatibles avec un maximum d’appareils.

Les applications universelles

Beaucoup d’applications sont compatibles iPhone et iPad. Ce qui amène un nouveau problème : les 3 variantes d’images sont bien souvent dupliquées. Ce qui amène à 6 variantes, avec des fichiers souvent plus lourds.

Les ressources annexes

Si on souhaite développer un jeu, on souhaitera permettre le déblocage de nouveaux niveaux, nouvelles armures.

Si on développe une application bien-être, on intègrera des exercices à débloquer. Qui sont souvent sous forme de vidéos.

Si on développe un GPS, il s’agira des cartes.

Ça grossit encore…

Les solutions

Evidemment, tout problème a sa solution si on se creuse un peu la tête.

Limiter l’usage des images

La solution la plus simple pour intégrer un visuel est d’utiliser une image PNG. Ça se fait en 2 minutes.

Pourtant, les graphistes et autres designers proposent souvent aux développeurs des fichiers vectoriels qui sont – par définition – compatible avec toutes les dimensions d’écrans et toutes les qualités d’écran.

Certains outils permettent de transformer les contenus issus d’Illustrator ou les fichiers SVG en code Swift ou Objective-C directement exploitable par une application iOS.

Parmi ceux-ci, il y a notamment le fameux PaintCode qui fait un travail remarquable.

La qualité des visuels de votre application sera meilleure et le poids sera également allégé de manière importante. Quand c’est possible, mieux vaut utiliser ces procédés.

Optimisez les images

Par défaut, XCode optimise les images PNG utilisées comme assets de sorte à réduire leur poids.

Pour autant, rien ne vous empêche d’utiliser des outils complémentaires en amont. Cela ne peut pas faire de mal.

Et surtout, veillez à vous assurer que les images ont bien une définition de 72dpi. Une définition supérieure n’apportera rien. Si ce n’est du poids supplémentaire.

Utilisez des images redimensionnables

Depuis iOS 7, XCode permet d’exploiter les images redimensionnables. Vous limitez ainsi le poids de l’image en définissant des zones « étirables ».

Inutile d’entrer dans le détail, la documentation officielle parle d’elle-même.

L’app slicing de iOS 9

Depuis iOS 9, les applications sont « découpées » sur l’App Store de sorte à ne télécharger que le contenu adapté à l’appareil. La cure d’allègement est drastique.

Les appareils sous iOS 8 devront eux télécharger tout le contenu.

Le bitcode

Pour faire simple, le bitcode est un code universel. Il s’agit du code exécuté par votre app. La partie optimisée du code est générée par l’App Store.

En gros, une app sur un iPhone 64bits ne contiendra ni les instructions 32bits, ni les spécificités de l’iPad.

Et, cerise sur le gâteau, si une nouvelle architecture matérielle fait son apparition il n’y aura pas besoin d’envoyer une nouvelle version de l’app sur l’App Store : Apple se charge d’optimiser le tout.

Les ressources à la demande

Un autre procédé introduit récemment par Apple est le principe des ressources à la demande.

Plutôt que tout télécharger d’un bloc, les ressources supplémentaires sont téléchargées à la demande par l’app. Et tout le processus est simplifié pour les développeurs.

Pour conclure

S’il est possible de voir le poids de son app exploser facilement, il y a tout de même des solutions permettant de réduire son poids.

Aujourd’hui, une application « light » peut peser entre 10 et 20 Mo. (Periscope est à 17 Mo, Tinder est à 20 Mo, Avertinoo seulement 4,9 Mo !)

Avec l’arrivée de iOS 10, il y a de bonnes chances pour que les apps soient optimisées dès cet été pour iOS 9 au minimum, iOS 8 étant de moins en moins présent. Ce qui signifie que les téléchargements d’apps devraient être plus rapides. Et les apps plus performantes, car automatiquement optimisées.

Le tout est que chacun joue le jeu pour offrir le meilleur aux utilisateurs iOS.

Une réflexion au sujet de « De la légèreté des apps iOS »

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s