É Possível Executar o Mesmo App Adobe AIR Mais de Uma Vez?
Se você está desenvolvendo com o Adobe AIR e se perguntando sobre a possibilidade de executar múltiplas instâncias da mesma aplicação, você não está sozinho. Muitos desenvolvedores enfrentam esse dilema, especialmente ao tentar gerenciar aplicações que exibem ou processam diversos fluxos de dados, como miniaturas de fluxos de fotos. Neste post do blog, vamos explorar esse problema em detalhes e fornecer clareza sobre se é viável executar duas instâncias da mesma aplicação Adobe AIR.
O Problema em Questão
Imagine que você criou um widget que exibe miniaturas de alguns fluxos de fotos. Seu objetivo é poder visualizar múltiplos fluxos simultaneamente. No entanto, você pode ter encontrado a frustrante limitação do Adobe AIR que restringe a capacidade de executar o mesmo app várias vezes.
A Limitação Explicada
De acordo com a documentação da Adobe:
“Apenas uma instância de uma aplicação AIR é iniciada. Quando uma aplicação já em execução é invocada novamente, o AIR despacha um novo evento de invocação para a instância em execução.”
Isso indica claramente que o Adobe AIR é projetado para lançar uma única instância de qualquer aplicação, o que significa que, se você tentar iniciar a mesma aplicação novamente, isso acionará um evento para a instância existente.
Entendendo o Evento de Invocação
Então, o que acontece quando você tenta executar a aplicação novamente? O framework Adobe AIR envia um “evento de invocação” para a instância da aplicação que está atualmente em execução.
Como Lidar com Eventos de Invocação
Para tirar o máximo proveito dessa limitação, você pode programar seu app AIR para responder a esses eventos de invocação implementando uma lógica que abre uma nova janela de documento ou uma janela similar para cada nova solicitação. Isso significa que, embora múltiplas instâncias independentes não sejam possíveis, você ainda pode gerenciar e exibir conteúdo adicional através da interface da aplicação existente.
Veja como fazer:
-
Escute o Evento de Invocação:
- Configure um listener de evento na sua aplicação AIR para detectar quando um evento de invocação ocorre.
-
Abra Novas Janelas ou Painéis:
- Ao receber um evento de invocação, programe a aplicação para abrir um novo documento ou janela que possa exibir o fluxo de fotos adicional que você deseja mostrar.
-
Gerencie o Estado Apropriadamente:
- Certifique-se de que sua aplicação possa lidar adequadamente com múltiplas janelas, gerenciando estados ou dados de forma eficiente entre instâncias.
Exemplo
Suponha que você queira abrir uma nova janela para exibir um fluxo de fotos adicional quando o widget for clicado novamente. Você pode incorporar a seguinte abordagem genérica no código da sua aplicação:
app.addEventListener(Event.INVOKE, onInvoke);
function onInvoke(event) {
// Crie uma nova janela ou painel para o novo fluxo
var newStreamWindow = new StreamWindow();
newStreamWindow.show(); // Mostre a nova janela do fluxo
}
Conclusão
Embora você não possa executar instâncias separadas de uma aplicação Adobe AIR, existem soluções alternativas que permitem lidar com a situação de forma eficaz. Usando o método de evento de invocação, você pode criar uma experiência de usuário mais flexível e responsiva.
Embora essas soluções alternativas possam não ser tão suaves quanto executar instâncias independentes, elas permitem gerenciar múltiplos fluxos em um único contexto de aplicação. Fique de olho na documentação oficial da Adobe para qualquer atualização ou mudança em relação a essa limitação no futuro.
Se você estiver interessado em mais informações detalhadas ou perguntas específicas de implementação, sinta-se à vontade para entrar em contato!