Arquitetura Do Firefox OS
Projeto Boot to Gecko
É o codinome do projeto Firefox OS que era o termo utilizado antes do nome oficial, Firefox OS, ser lançado. É comum ver o termo B2G (versão abreviada para Boot to Gecko) ser utilizado em casos que não são específicos ao Firefox OS, por exemplo quando desenvolvedores estão interessados na infraestrutura geral e usos que não estão atrelados com a agenda ou as prioridades do Firefox OS.
Diagrama da arquitetura
A arquitetura do Firefox OS é dividida em três camadas: Gaia, Gecko e Gonk.
Gaia
É a interface visual do Firefox OS, que apresenta a experiência do sistema ao usuário. A camada Gaia contém várias aplicações padrão como Tela de Bloqueio e Tela Inicial, e várias aplicações que são esperadas em um smartphone. O Gaia é completamente implementado com padrões web como HTML, CSS, JavaScript, dentre outros. As interfaces entre a camada web e os recursos do sistema operacional são feitas através de APIs web — algumas abertas e outras que estão em desenvolvimento na camada Gecko. O Gaia oferece maneiras para a instalação de aplicações de terceiros.
Tudo que aparece na tela após o Firefox OS iniciar é desenhado pela Gaia, isto inclui a tela de segurança (lock screen), a tela inicial, a tela para realizar ligações, e outras aplicações.
Por causa da sua arquitetura, Gaia não roda apenas em aparelhos com Firefox OS, mas pode rodar também em aparelhos com outros sistemas operacionais ou em Navegadores Web (embora com a possibilidade de perda de algumas funcionalidades dependendo das capacidades do navegador).
Gecko
Este é o runtime web específico para as aplicações do Firefox OS. O Gecko oferece uma infra- estrutura de padrões web como HTML5, CSS, SVG, WebGL, JavaScript, dentre outros. Ele também oferece recursos do sistema como device API assim permitindo que aplicações web possam acessar serviços do dispositivo móvel, como por exemplo o GPS e câmera. O Gecko também carrega várias funcionalidades