Por que eu devo ler este artigo:O objetivo deste artigo é introduzir ao leitor o sistema operacional Firefox OS e suas peculiaridades, passando por informações básicas sobre o sistema e sua arquitetura, construindo uma aplicação que utiliza a biblioteca de Geolocalização. Este tema é útil para todos os desenvolvedores que buscam constante atualização e que buscam as informações necessárias para desenvolver aplicativos para esta nova plataforma. O sistema operacional otimizado para execução das famosas web apps finalmente chegou ao mercado.

Antes de falarmos sobre o Firefox OS, precisamos entender os motivos que levaram a sua criação. Em julho de 2011, o Doutor Andreas Gal, diretor da área de pesquisa da Mozilla, empresa criadora do navegador Firefox, anunciou o projeto Boot to Gecko (B2G), com o objetivo de criar um sistema operacional para dispositivos móveis que permitisse aos desenvolvedores acostumados ao mundo web criar aplicativos utilizando tecnologias já conhecidas, além de manter a mesma experiência de uso de aplicativos nativos executados em sistemas como Android, iOS e Windows Phone.

Toda esta ideologia foi estruturada utilizando as tecnologias Gecko, Gonk e Gaia, que falaremos mais a frente neste artigo, aliada ao sistema operacional Linux, permitindo a execução eficaz de aplicativos construídos com as tecnologias CSS, JavaScript e HTML.

Em termos de experiência do usuário e performance, aplicativos desenvolvidos em linguagens nativas há muito tempo possuem uma vantagem visível em relação a aplicações desenvolvidas com tecnologias web dentro do mundo mobile, os chamados web apps.

O Firefox OS veio com o intuito de equilibrar esta equação, criando uma base sólida para execução de tais aplicativos, permitir o acesso a todas as funcionalidades nativas, como câmera, acelerômetro e geolocalização, além de definir alguns padrões para uma experiência fluída junto aos usuários.

Bem estruturado e apostando no baixo custo, como alternativa a smartphones Android, o Firefox OS se tornou a maior aposta da Mozilla junto a diversas empresas como Telefonica, LG e Facebook, oferecendo aos desenvolvedores a possibilidade de utilizar tecnologias vastamente conhecidas como HTML, CSS e JavaScript e sua própria App Store, conhecida como Marketplace.

Será este a nova bala de prata do mundo mobile ou apenas um hype? Continue lendo e tome suas próprias conclusões.

Arquitetura

Para conhecermos a arquitetura do Firefox OS, precisamos entender como os três principais componentes deste sistema funcionam:

· Gaia: implementado inteiramente utilizando HTML, CSS e JavaScript, é a camada responsável por toda renderização que ocorre no sistema operacional;

· Gecko: responsável pela execução eficaz das tecnologias HTML, CSS e JavaScript, possuindo diversas camadas para acesso a recursos do dispositivo, como acesso a rede e ao chip gráfico;

· Gonk: é a distribuição Linux em que o Firefox OS é baseado, formada por um kernel Linux e uma camada de abstração para o hardware, o HAL (Hardware Abstraction Layer), que permite o acesso direto a componentes do dispositivo como GPS e câmera. Para saber mais sobre o HAL veja o BOX 1.

BOX 1. HAL – Hardware Abstraction Layer

Antigamente, os programadores eram obrigados a conhecer as peculiaridades de cada hardware suportado por seus sistemas para que o mesmo funcionasse adequadamente em cada um deles. O HAL foi criado para funcionar como uma camada entre o hardware e o software, agindo como uma ponte para comunicação entre ambos.

Basicamente, o software envia uma mensagem para o sistema operacional, informando o comando desejado para os dispositivos e o mesmo se torna responsável por enviar este comando para o hardware.

Como visto na Figura 1, a arquitetura do Firefox OS é dividida em três camadas:

· Aplicações: nesta camada ficam armazenadas bibliotecas JavaScript que ficarão disponíveis ao desenvolvedor e permitirão o acesso a diversas APIs para acesso a funcionalidades como câmera e contatos. Aplicações que acompanham o sistema operacional e pré-instaladas pelos fabricantes;

· Bibliotecas: nesta camada ficam disponíveis bibliotecas para acesso a API do HTML5, bibliotecas relacionadas à segurança, bibliotecas que facilitam o acesso a recursos do hardware, além de diversos facilitadores;

· Infraestrutura: esta camada contém bibliotecas utilizadas pelo sistema operacional e bibliotecas criadas pelos fabricantes de dispositivos. Também fazem parte desta camada a distribuição Linux que suporta o Firefox OS, que é basicamente a mesma distribuição utilizada pelo Android, além de diversos drivers utilizados pelo s ...

Quer ler esse conteúdo completo? Tenha acesso completo