← Vue d’ensemble

Pourquoi pas d’APM

Une extension, un fichier. Pas de chaînes de dépendances.

AUCUN APM NÉCESSAIRE. Téléchargez et profitez-en. Impossible de faire plus simple. Mettez simplement à jour l’Adobe AIR SDK. Si vous avez besoin d’aide, nous sommes là.

Pourquoi nos extensions natives pour Adobe AIR se passent de gestionnaire de paquets, de bibliothèque centrale et d’ANE auxiliaires, et ce que cela a changé dans nos propres applications.

45 → 13 ANEs−6.5 MB on Android−5.9 MB on iOSAbout 2× faster start

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 Android45, dont 35 tierces, la plupart des ANE auxiliaires → 13, toutes les nôtres
Descripteur d’applicationAndroid : 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’applicationenviron deux fois plus rapide
Travail en arrière-planaucune 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

Contact

Vous souhaitez sortir des chaînes de dépendances ?

Nous les avons remplacées pas à pas dans nos propres applications. Si vous souhaitez faire de même dans votre application AIR, nous serons ravis de vous lire.

[email protected]