O problema das cadeias de dependências
Muitas extensões AIR instaladas com um gerenciador de pacotes (APM) não vêm sozinhas. Elas trazem uma cadeia de ANEs auxiliares: uma biblioteca principal compartilhada, bibliotecas de suporte do Android, serviços do Google Play, Firebase, bibliotecas de rede e de imagem. Muitas vezes essas auxiliares só estão lá porque outra extensão precisa delas.
Cada uma dessas ANEs é empacotada no seu app e carregada na inicialização, quer o seu app use o recurso ou não. O app fica maior, inicia mais devagar e faz mais trabalho em segundo plano.
O que medimos em nossos próprios apps
Nossos apps transmitem vídeo ao vivo e voz bidirecional, muitas vezes a partir de celulares e tablets mais antigos. Em 2026 substituímos todas as extensões de terceiros neles por nossas próprias extensões autossuficientes e comparamos os resultados em dispositivos reais:
| Extensões no app Android | 45, sendo 35 de terceiros, a maioria ANEs auxiliares → 13, todas nossas |
| Descritor do aplicativo | Android: 197 → 133 linhas (adições ao manifesto 117 → 85), iOS: 161 → 126 linhas. Menos entradas de manifesto para manter e menos coisas que podem quebrar |
| Tamanho do app | −6,5 MB no Android (−10 %), −5,9 MB no iOS (−14 %) |
| Inicialização do app | cerca de duas vezes mais rápida |
| Trabalho em segundo plano | nenhuma biblioteca de análise ou auxiliar rodando ao lado do stream: mais CPU e largura de banda para vídeo e voz, o que mais importa em dispositivos antigos |
Conflitos e pressão por atualizações
Quando várias extensões compartilham as mesmas ANEs auxiliares, suas versões precisam ser compatíveis. Uma nova versão de uma extensão muitas vezes exige novas versões das auxiliares compartilhadas e, depois, de todas as outras extensões que as usam.
O resultado: atualizações de que você não precisava, conflitos de versão na compilação, e cada combinação precisa ser testada de novo em cada plataforma. É um trabalho que não torna o seu app nem um pouco melhor.
Nossa abordagem: autossuficiente
Envolver as bibliotecas da plataforma em uma camada fina e pendurar nela uma série de ANEs auxiliares é o caminho mais rápido para lançar muitas extensões. Construir cada extensão completa e autônoma dá muito mais trabalho: cada uma precisa trazer exatamente o que necessita, ser testada separadamente em cada plataforma e ainda funcionar ao lado de todas as outras. Nós escolhemos esse trabalho, para que você não carregue as consequências no seu app.
- Um arquivo por recurso. Cada extensão é uma única ANE. Sem biblioteca principal, sem ANEs auxiliares, sem gerenciador de pacotes.
- Só o que o recurso precisa. Quando uma biblioteca da plataforma é necessária, como Google Play Billing ou Firebase Cloud Messaging para push no Android, a compilação adiciona exatamente essa biblioteca automaticamente. Nada mais.
- Atualizações independentes. Atualizar uma extensão nunca obriga você a atualizar outra.
- Comprovado em produção. Cada extensão roda em nossos próprios apps no iOS, Android e macOS e é testada em dispositivos atuais e antigos.
Adicione o ID da extensão ao descritor do seu aplicativo, copie o arquivo para o seu projeto, pronto. Ver todas as extensões · Preços