← Visão geral

Por que sem APM

Uma extensão, um arquivo. Sem cadeias de dependências.

NÃO É NECESSÁRIO APM. Baixe e aproveite. Não tem como ser mais simples. Basta atualizar o Adobe AIR SDK. Se precisar de ajuda, estamos aqui.

Por que nossas extensões nativas para Adobe AIR vêm sem gerenciador de pacotes, sem biblioteca principal e sem ANEs auxiliares, e o que isso mudou em nossos próprios apps.

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

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 Android45, sendo 35 de terceiros, a maioria ANEs auxiliares → 13, todas nossas
Descritor do aplicativoAndroid: 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 appcerca de duas vezes mais rápida
Trabalho em segundo planonenhuma 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

Contato

Quer deixar as cadeias de dependências para trás?

Nós as substituímos em nossos próprios apps passo a passo. Se você quiser fazer o mesmo no seu app AIR, queremos ouvir você.

[email protected]