Arquitetura de Aplicativos do Firefox OS

Esse artigo explica o mecanismo interno de como as aplicações são executadas e gerenciadas no Firefox OS. Essa informação será útil para desenvolvedores da plataforma Firefox OS, bem como as equipes que trabalham na portabilidade do sistema operacional para novos hardwares. Você não precisa saber isso se for desenvolver um aplicativo para o Firefox OS, mas pode ser interessante.

O processo de inicialização do aplicativo

Quando o usuário seleciona um aplicativo para execução, ou um outro aplicativo precisa ser lançado, o aplicativo Tela Inicial pega a referência do aplicativo na API App, então chama o método App.launch() que lança o aplicativo.

O Gecko recebe a requisição e envia o evento mozChromeEvent para o System app com os detalhes do aplicativo que manipula o evento inserindo um novo <iframe> na sua árvore DOM carregando o aplicativo em <iframe>. Esse frame será a home do aplicativo até o mesmo terminar.

Todo aplicativo requer um manifesto que detalha o aplicativo que possui uma hierarquia particular no pacote. Para maiores detalhes, veja o artigo Manifesto do aplicativo.

Comunicação com o Gecko

A comunicação entre o Gecko e o System app do Gaia é feito via mozChromeEvent e mozContentEvent. mozChromeEvents são transmitidos do chrome para o conteúdo e mozContentEvents são transmitidos do conteúdo para o chrome. Esta comunicação é usada para controlar a criação e encerramento da IU (Interface do Usuário) confiável e injetar as funções necessárias para as notificações e outras tarefas, incluindo a notificação ao System app para iniciar um aplicativo.

Nota: Você encontra mais informações sobre como esses eventos funcionam na página Documentação do sistema. Você também pode conseguir muita informação de como é usado olhando o código em b2g/chrome/content/shell.js.

Veja também

Etiquetas do documento e colaboradores

Etiquetas: 
 Colaboradores desta página: jwhitlock, PriscillaAlcalde, rbrandao, teoli, eliezerb
 Última atualização por: jwhitlock,