Le problème des chaînes de dépendances
De nombreuses extensions AIR installées avec un gestionnaire de paquets (APM) n’arrivent pas seules. Elles apportent une chaîne d’ANE auxiliaires : une bibliothèque centrale partagée, des bibliothèques de support Android, les services Google Play, Firebase, des bibliothèques réseau et image. Souvent, ces auxiliaires ne sont là que parce qu’une autre extension en a besoin.
Chacune de ces ANE est intégrée à votre application et chargée au démarrage, que votre application utilise la fonctionnalité ou non. L’application devient plus lourde, démarre plus lentement et travaille davantage en arrière-plan.
Ce que nous avons mesuré dans nos propres applications
Nos applications diffusent de la vidéo en direct et de la voix bidirectionnelle, souvent depuis des téléphones et tablettes anciens. En 2026, nous y avons remplacé chaque extension tierce par nos propres extensions autonomes et comparé les résultats sur des appareils réels :
| Extensions dans l’application Android | 45, dont 35 tierces, la plupart des ANE auxiliaires → 13, toutes les nôtres |
| Descripteur d’application | Android : 197 → 133 lignes (ajouts au manifeste 117 → 85), iOS : 161 → 126 lignes. Moins d’entrées de manifeste à maintenir et moins de choses qui peuvent casser |
| Taille de l’application | −6,5 MB sur Android (−10 %), −5,9 MB sur iOS (−14 %) |
| Démarrage de l’application | environ deux fois plus rapide |
| Travail en arrière-plan | aucune bibliothèque d’analyse ou auxiliaire ne tourne à côté du flux : plus de CPU et de bande passante pour la vidéo et la voix, ce qui compte le plus sur les appareils anciens |
Conflits et pression des mises à jour
Lorsque plusieurs extensions partagent les mêmes ANE auxiliaires, leurs versions doivent concorder. Une nouvelle version d’une extension exige souvent de nouvelles versions des auxiliaires partagées, puis de toutes les autres extensions qui les utilisent.
Résultat : des mises à jour dont vous n’aviez pas besoin, des conflits de versions à la compilation, et chaque combinaison doit être retestée sur chaque plateforme. C’est du travail qui n’améliore en rien votre application.
Notre approche : l’autonomie
Envelopper les bibliothèques de la plateforme dans une fine couche et y accrocher une série d’ANE auxiliaires est la voie la plus rapide pour publier de nombreuses extensions. Construire chaque extension complète et autonome demande bien plus de travail : chacune doit apporter exactement ce dont elle a besoin, être testée séparément sur chaque plateforme et fonctionner malgré tout à côté de toutes les autres. Nous avons choisi ce travail, pour que vous n’en portiez pas les conséquences dans votre app.
- Un fichier par fonctionnalité. Chaque extension est une seule ANE. Pas de bibliothèque centrale, pas d’ANE auxiliaires, pas de gestionnaire de paquets.
- Uniquement ce dont la fonctionnalité a besoin. Lorsqu’une bibliothèque de la plateforme est nécessaire, comme Google Play Billing ou Firebase Cloud Messaging pour le push sur Android, la compilation ajoute automatiquement exactement cette bibliothèque. Rien d’autre.
- Des mises à jour indépendantes. Mettre à jour une extension ne vous oblige jamais à en mettre à jour une autre.
- Éprouvé en production. Chaque extension tourne dans nos propres applications sur iOS, Android et macOS et est testée sur des appareils récents comme anciens.
Ajoutez l’ID de l’extension au descripteur de votre application, copiez le fichier dans votre projet, c’est tout. Voir toutes les extensions · Tarifs