paint-brush
La taille est-elle importante si vous avez un iPhone 15 ?par@marcushaldd
651 lectures
651 lectures

La taille est-elle importante si vous avez un iPhone 15 ?

par Daria Leonova7m2023/11/10
Read on Terminal Reader

Trop long; Pour lire

Il existe encore quelques raisons importantes pour lesquelles nous devrions toujours garder un œil sur la taille de notre application : - Limites de l'App Store ; - Téléchargez une vitesse de lancement ; - Influence sur la durée de vie de la batterie de l'appareil ; Et il existe quelques méthodes pour réduire la taille de l’application : - Formats HEIC et SVG pour les images ; - Catalogues d'actifs ; - Liaison dynamique ; - Filtrage des fichiers excédentaires ;
featured image - La taille est-elle importante si vous avez un iPhone 15 ?
Daria Leonova HackerNoon profile picture
0-item

Chaque année, Apple lance un nouvel iPhone, augmentant progressivement la taille de la RAM et de la mémoire principale, ajoutant ainsi de la puissance à la puce. Aujourd'hui, sur iPhone 15, vous pouvez déjà exécuter des jeux sur console comme « Resident Evil 4 ». Et une question logique peut se poser : dois-je optimiser la taille de mon application ou ne puis-je pas y consacrer plus de temps ?


Bref, cela vaut quand même la peine d’optimiser la taille. Dans cet article, j'ai rassemblé les raisons pour lesquelles il est essentiel de le faire et fourni quelques méthodes d'optimisation utiles.

Problèmes et définitions

Commençons donc par la réponse la plus banale à la question « Pourquoi la taille est-elle importante ? » - Les limitations de l'App Store. App Store Connect ne vous permettra tout simplement pas de télécharger un fichier dépassant la limite de taille spécifiée.


Pour les applications iOS et tvOS, vérifiez que votre application ne dépasse pas la taille maximale des fichiers sur les systèmes d'exploitation pris en charge. La taille totale non compressée de votre application doit être inférieure à 4 Go.


Les applications Apple Watch doivent faire moins de 75 Mo. De plus, chaque fichier exécutable Mach-O — par exemple, app_name.app/app_name — ne doit pas dépasser ces tailles de fichier maximales. Lien


Les fichiers spécifiques auxquels ils font référence peuvent prêter à confusion. Pour mieux comprendre cela, passons en revue le processus de soumission de votre candidature à l'App Store Connect.


.xcarchive

Product -> Archive

La première étape consiste à créer une archive. Cette archive stocke une collection d'artefacts de construction et d'informations associées pour une application iOS, macOS, watchOS ou tvOS.



.xcarchive right click -> Show Package Contents

Nous avons la possibilité d’examiner exactement ce qui est inclus dans les archives et sous quelle forme.




Parmi les principaux fichiers, vous retrouverez :


  • Dossier Produits avec votre application ;

  • dSYM, (abréviation de « symboles de débogage »), fichiers spéciaux générés par Xcode avec les informations nécessaires au débogage, en bref, les journaux de crash ;

  • Info.plist;


À propos, le fichier d'application peut également être ouvert par « Afficher le contenu du package », et parmi les fichiers, vous trouverez l'exécutable et CodeResources, résultat de la signature de code ; il garde la trace des signatures numériques de diverses ressources applicatives (images, etc.).


.ipa

De retour à Xcode, après avoir généré l'archive, le bouton Distribute App est à votre disposition. A ce stade, .xcarchive se transforme en .ipa .


Un fichier .ipa peut être considéré comme un package compressé comprenant un dossier « Payload ». À l’intérieur de ce dossier « Payload », se trouve le bundle essentiel « YourApp.app ». Dans le bundle ".app", vous trouverez tous les composants critiques de votre application, y compris des ressources telles que


  • images;
  • fichiers plist ;
  • fichiers plume compressés ;
  • le fichier exécutable ;


De plus, il héberge des ressources de signature de code pour garantir l'intégrité et la sécurité de l'application.


Pour examiner l'intérieur de votre .ipa , cliquez sur Export après la distribution, convertissez le type de .ipa en .zip et extrayez simplement.


En résumé, le fichier .ipa est l'application packagée que les utilisateurs finaux installent sur leurs appareils iOS, tandis que le .xcarchive est une archive destinée aux développeurs qui contient divers actifs et informations de construction pour l'application.


Le .ipa est utilisé pour la distribution, tandis que le .xcarchive est utilisé à des fins de débogage, d'archivage et de développement ultérieur. L'exécutable, quant à lui, est le code central qui exécute les fonctions de l'application et est contenu dans le package .ipa .


Ainsi, les limites de l’AppStore peuvent être illustrées comme suit.

Version du système d'exploitation

Taille .ipa

.ipa -> Charge utile -> Application -> taille de l'exe

iOS 9.0 et versions ultérieurestvOS 9.0 et versions ultérieures

4 GO

500 Mo

iOS 7.X à iOS 8.X

2 Go

60 Mo


Cependant, pour estimer la taille de votre application finale, c'est-à-dire le nombre d'octets qu'un utilisateur particulier devra installer sur son appareil, vous aurez besoin d'actions supplémentaires, à savoir la génération d'un rapport sur la taille de l'application. La documentation décrit bien la procédure pour le créer, je vais donc laisser un lien ici.


La prochaine raison de réfléchir à la taille de votre application est… encore une fois l'AppStore, mais maintenant, nous ne parlons pas de restrictions du système mais de la vitesse de téléchargement . Ici, tout est évident : plus la taille est petite, plus le tarif est élevé.


De plus, il existe une limite de 200 Mo, à laquelle les utilisateurs doivent se connecter à un réseau Wi-Fi pour installer l'application. Ce retard peut décourager les utilisateurs et entraîner des taux d’abandon plus élevés.


Les algorithmes de recherche et de découverte de l'App Store d'Apple privilégient souvent les applications plus petites, car elles sont plus faciles à télécharger et à essayer pour les utilisateurs. Des applications de plus petite taille peuvent potentiellement améliorer la visibilité de votre application dans les résultats de recherche et les recommandations.


Une fois l’application installée sur l’appareil, sa taille compte toujours. Les applications plus petites se lancent plus rapidement, offrant une meilleure expérience utilisateur. Lorsqu'une application optimise le stockage, elle contribue à prolonger la durée de vie de la batterie, à réduire l'empreinte de l'application et à améliorer la santé de l'appareil. En conséquence, plus les gens sont satisfaits de l’iPhone, plus vous avez d’utilisateurs potentiels.

Solutions

Il existe quelques conseils simples pour éviter d’augmenter inutilement la taille de votre application lors du développement. Le premier d’entre eux est le travail conscient avec les images.

Images

Tout d’abord, choisissez HEIC au lieu de JPEG. HEIC fournit des fichiers 50 % plus petits que JPEG, tout en conservant une qualité d'image similaire. Cela entraîne une réduction de l’espace de stockage sur votre appareil. Les fichiers plus petits facilitent le transfert de fichiers sur les réseaux, ainsi que le chargement et l'enregistrement plus rapides sur le disque.


Les HEIC prennent en charge la transparence des images et la capacité de stocker des images supplémentaires contenant des informations sur la profondeur et la disparité. Il prend en charge la compression sans perte et vous permet de stocker plusieurs images dans un seul conteneur.



Deuxièmement, essayez d’adopter le SVG (un format d’image vectorielle basé sur XML utilisé pour afficher des graphiques vectoriels bidimensionnels) au lieu du PDF et du PNG. Contrairement aux images raster, les graphiques vectoriels présentent généralement des fichiers de plus petite taille, car ils sont caractérisés par des équations mathématiques qui définissent des formes et des courbes, par opposition au stockage de pixels individuels.


Initialement, il fallait ajouter 3 images avec préfixes (pour chaque densité de pixels). Ensuite, le support PNG a été ajouté (= image vectorielle avec une taille donnée), mais cela fonctionnait toujours au niveau de « couper 3 PNG du PDF lorsque nous assemblons le projet ».


Et ce n'est qu'alors qu'il est devenu possible d'utiliser SVG + d'inclure la case à cocher « utiliser la date vectorielle » dans le catalogue d'actifs, réduisant ainsi réellement la taille des images utilisées + ajoutant la possibilité d'une mise à l'échelle infinie, sans perte de qualité.


Troisièmement, tirez le meilleur parti des capacités des catalogues d’actifs . Les catalogues d'actifs fournissent un stockage facile à utiliser pour plusieurs résolutions de la même image. De plus, les catalogues stockent toutes les images dans un seul format optimisé avec des métadonnées au lieu de fichiers individuels.


Il permet à l'App Store de fournir uniquement les ressources nécessaires à son appareil particulier. Cela conduit à une augmentation de la vitesse de téléchargement, et nous savons déjà que les utilisateurs n'aiment pas attendre.


Catalogues d'actifs

Il est possible de définir la ressource « à la demande », c'est-à-dire que la ressource sera téléchargée sur l'appareil uniquement si nécessaire, et après un certain temps d'inutilisation, elle sera supprimée. Lien


N'oubliez pas que vous disposez d'un énorme catalogue d'images « gratuites » - SF Symbols . Apple travaille constamment à augmenter le nombre de personnages, en ajoutant la possibilité de personnaliser les couleurs et même les animations.


Ainsi, avec les images et autres ressources graphiques, tout semble clair : nous utilisons les bons formats et ajoutons un catalogue via les Assets. Il est toujours possible de ne pas inclure de ressources volumineuses dans l'assemblage final, mais simplement de les télécharger depuis Internet en cas de besoin. Parlons maintenant du code et de l'utilisation des bibliothèques.

Gestion des cadres

Permettez-moi de vous rappeler rapidement le Linking. Il en existe deux types : statique et dynamique.


Statique

Dynamique

Quand la liaison se produit

Temps de construction

Durée

Où les dépendances sont stockées

Dans le fichier exécutable final

Dans des bibliothèques dynamiques distinctes

Comment les dépendances sont partagées

La même copie est utilisée par toutes les instances de l'application

Chaque instance de l'application a sa propre copie

Comment les mises à jour des dépendances sont gérées

Reconstruire l'application

Mettre à jour la bibliothèque dynamique


Selon le thème de cet article, le stockage des dépendances est particulièrement important pour nous, et les liens dynamiques semblent être notre favori.


Les bibliothèques dynamiques ne sont pas liées de manière statique aux applications clientes ; ils ne font pas partie du fichier exécutable. Au lieu de cela, les bibliothèques dynamiques peuvent être chargées (et liées) dans une application soit au lancement de l'application, soit pendant son exécution. Lien


Pour faire court, opter pour des bibliothèques dynamiques plutôt que des bibliothèques statiques entraîne une taille de fichier d'application plus petite et une utilisation initiale de la mémoire inférieure. Cependant, il est toujours important de trouver un équilibre et d'éviter une utilisation excessive des bibliothèques dynamiques, car cela peut créer un retard de performances lors du démarrage de l'application.


Apple recommande également de créer une base de code modulaire ( SPM ) dans votre application, ce qui peut s'avérer pratique lors du partage de code avec d'autres cibles, App Clipps par exemple.


Swift Package Manager offre un moyen simplifié et natif de gérer les dépendances dans vos projets Swift.

Fichiers excédentaires

L'un des moyens les plus efficaces de réduire la taille de votre application consiste à supprimer tous les fichiers inutiles. Ces fichiers supplémentaires peuvent être, par exemple, Read.me ou des images restantes. En fait, au tout début de l'article, où nous avons compris ce qu'est un .ipa, nous avons déjà appris comment trouver tous les fichiers qui entreront dans l'AppStore : .ipa -> .zip -> App -> show package Contenu.


Découvrez toutes les ressources dont vous n'avez pas besoin et n'hésitez pas à les supprimer de votre application.


Conclusion

Juste pour résumer ceci. Il existe encore quelques raisons importantes pour lesquelles nous devrions garder un œil sur la taille de notre application :

  • Limites de l'App Store ;
  • Vitesses de téléchargement et de lancement ;
  • Influence sur la durée de vie de la batterie de l'appareil ;


Et il existe quelques méthodes pour réduire la taille de l’application :

  • Formats HEIC et SVG pour les images ;
  • Catalogues d'actifs ;
  • Liaison dynamique ;
  • Filtrage des fichiers excédentaires ;


Alors ne l’oubliez pas lors de votre développement de routine ; devenez plus intelligent chaque jour 🙃