Riippuvuusketjujen ongelma
Monet pakettienhallinnalla (APM) asennettavat AIR-laajennukset eivät tule yksin. Ne tuovat mukanaan ketjun apu-ANE-laajennuksia: jaetun ydinkirjaston, Androidin tukikirjastoja, Google Play -palveluita, Firebasen sekä verkko- ja kuvakirjastoja. Usein nämä apulaajennukset ovat mukana vain siksi, että jokin toinen laajennus tarvitsee niitä.
Jokainen näistä ANE-laajennuksista paketoidaan sovellukseesi ja ladataan sen käynnistyessä, käyttipä sovelluksesi ominaisuutta tai ei. Sovellus kasvaa, käynnistyy hitaammin ja tekee enemmän työtä taustalla.
Mitä mittasimme omissa sovelluksissamme
Sovelluksemme välittävät live-videota ja kaksisuuntaista ääntä, usein vanhemmista puhelimista ja tableteista. Vuonna 2026 korvasimme niissä jokaisen kolmannen osapuolen laajennuksen omilla itsenäisillä laajennuksillamme ja vertasimme tuloksia oikeilla laitteilla:
| Laajennukset Android-sovelluksessa | 45, joista 35 kolmannen osapuolen, useimmat niistä apu-ANE-laajennuksia → 13, kaikki omiamme |
| Sovelluskuvaaja | Android: 197 → 133 riviä (manifestin lisäykset 117 → 85), iOS: 161 → 126 riviä. Vähemmän ylläpidettäviä manifestimerkintöjä ja vähemmän rikkoutuvaa |
| Sovelluksen koko | −6,5 MB Androidilla (−10 %), −5,9 MB iOS:llä (−14 %) |
| Sovelluksen käynnistys | noin kaksi kertaa nopeampi |
| Taustatyö | ei analytiikka- tai apukirjastoja käynnissä striimin rinnalla: enemmän CPU-tehoa ja kaistaa videolle ja äänelle, mikä on tärkeintä vanhemmilla laitteilla |
Ristiriidat ja päivityspaine
Kun useat laajennukset jakavat samat apu-ANE-laajennukset, niiden versioiden on täsmättävä. Yhden laajennuksen uusi versio vaatii usein jaetuista apulaajennuksista uudet versiot, ja sen jälkeen myös kaikista muista niitä käyttävistä laajennuksista.
Tuloksena on päivityksiä, joita et tarvinnut, versioristiriitoja käännösvaiheessa, ja jokainen yhdistelmä on testattava uudelleen jokaisella alustalla. Se on työtä, joka ei tee sovelluksestasi yhtään parempaa.
Lähestymistapamme: itsenäiset laajennukset
Alustan kirjastojen kääriminen ohueen kuoreen ja apu-ANEjen ripustaminen siihen on nopeampi tapa julkaista monta laajennusta. Jokaisen laajennuksen rakentaminen täydellisenä ja itsenäisenä vaatii paljon enemmän työtä: jokaisen on tuotava mukanaan juuri se, mitä se tarvitsee, se on testattava erikseen jokaisella alustalla, ja silti sen on toimittava kaikkien muiden rinnalla. Me valitsimme tämän työn, jotta sinun sovelluksesi ei joudu kantamaan seurauksia.
- Yksi tiedosto ominaisuutta kohden. Jokainen laajennus on yksi ANE. Ei ydinkirjastoa, ei apu-ANE-laajennuksia, ei pakettienhallintaa.
- Vain se, mitä ominaisuus tarvitsee. Kun alustakirjastoa tarvitaan, kuten Google Play Billing tai Firebase Cloud Messaging push-ilmoituksiin Androidilla, käännös lisää automaattisesti juuri sen kirjaston. Ei mitään muuta.
- Riippumattomat päivitykset. Yhden laajennuksen päivittäminen ei koskaan pakota päivittämään toista.
- Todistetusti tuotannossa. Jokainen laajennus on käytössä omissa sovelluksissamme iOS:llä, Androidilla ja macOS:llä, ja se on testattu nykyisillä ja vanhemmilla laitteilla.
Lisää laajennuksen tunnus sovelluksesi descriptoriin, kopioi tiedosto projektiisi, valmista. Katso kaikki laajennukset · Hinnasto