Introdução ao Firefox OS
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.
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 LayerAntigamente, 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 sistema."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo