O ano é 2013, o mercado de dispositivos móveis está super aquecido e em vias de esquentar ainda mais com a vinda do novo Firefox OS que, com seus apps baseados em HTML5, traz as liberdades e facilidades da web para o mundo móvel.
Mas o que é um app para Firefox OS? Um aplicativo feito para Firefox OS é uma coleção de HTML/CSS/Javascript tal qual uma página web. Porém, além disso, ele possui um arquivo de manifesto que o descreve e é utilizado pelo sistema (e pelo marketplace) para cadastrar e apresentar seu app. Esse manifesto é um arquivo do tipo JSON que inclui informações, como nome e descrição do app e permissões de acesso ao hardware, que ele precisa para funcionar. Um exemplo de manifesto simples segue abaixo:
{ "name": "Meu App", "description": "Minha descrição", "launch_path": "/", "icons": { "128": "/img/icon-128.png" }, "developer": { "name": "Meu nome ou organização", "url": "http://sua-pagina-aqui.org" } }
Esse manifesto normalmente fica em um arquivo chamado manifest.webapp, ao lado do index.html. Ao entrar no Firefox Marketplace e escolher a opção “instalar um aplicativo”, o sistema lê esse manifesto e o adiciona ao telefone.
Tipos de aplicativos
O Firefox OS possui três tipos de aplicativos: hospedados, privilegiados e certificados. O primeiro fica no seu servidor e, ao utilizar técnicas do HTML5, como appCache e localStorage, pode ser disponibilizado para acesso offline. É o mais fácil de se fazer e possibilita que qualquer página com design responsivo se torne um app.
O app privilegiado é, na verdade, um arquivo zip com HTML/CSS/JS verificado pelo Marketplace e disponibilizado a partir de um servidor seguro. Ele possui maior acesso ao hardware e os arquivos ficam no aparelho. Já o app certificado é destinado somente a Mozilla e seus parceiros.
Acesso ao Hardware
A Mozilla está padronizando junto aos órgãos competentes uma série de APIs que são coletivamente chamadas de Web APIs. Com acesso ao hardware via Javascript, elas permitem o uso de ferramentas como o acelerômetro, a câmera, os contatos etc. Essas APIs estão em diferentes graus de implementação e padronização, e podem ser vistas aqui. Utilizadas de forma correta e com as devidas permissões no manifesto, o seu aplicativo web tem acesso a funcionalidades que, anteriormente, eram restritas a aplicativos nativos.
Simulando o Firefox OS
Sabe-se que um aplicativo para Firefox OS é construído com tecnologias web, definido por um manifesto e que as Web API proporcionam acesso ao hardware. Tudo que é necessário para desenvolver e testar seus aplicativos são uma instalação recente do Firefox e um complemento “Firefox OS Simulator” instalado. Ao ativá-lo, o Firefox inicializa em outra janela um simulador do Firefox OS com todas as funcionalidades. Basta adicionar o manifesto do seu aplicativo ao simulador para que o complemento seja instalado e testado.
Você pode também ligar um servidor web local e abrir seu aplicativo do simulador. As Web APIs possuem rotinas para que você não precise utilizar o Firefox Marketplace para instalar apps. Seu aplicativo pode ser uma página web que oferece um botão de instalação. Muito diferente e muito mais livre que as demais plataformas.
Conclusão
Este foi um breve review para deixar um gostinho de novidade e de liberdade em todos os leitores e desenvolvedores front-end. O Firefox OS possui as facilidades da web e o poder das plataformas móveis. Com suas habilidades de HTML/CSS/JS, você pode sair na frente construindo apps para a nova plataforma e disponibilizá-las tanto no Firefox Marketplace quanto no seu próprio servidor.
O “Developer Hub” do Firefox OS está aqui. Nele, você consegue mais informações sobre as APIs, a publicação de apps e outras documentações em geral.
O Firefox OS é totalmente aberto e tanto o código do sistema operacional quanto os apps que vêm incluídos nele estão disponíveis no GitHub.
A página da comunidade Mozilla no Brasil é bastante ativa, e suas listas de e-mail estão sempre prontas para ajudar. Basta nos visitar. Nossa comunidade está sempre aberta a novos membros e nossas listas de e-mail são uma ótima fonte de novidades sobre o OS e novas tecnologias web em geral. A comunidade é distribuída por todo o Brasil com membros desde o Acre ao Sul, e participa de eventos o ano todo. Fique de olho nas notícias no nosso site e não perca as próximas oportunidades de fazer workshops e participar de palestras sobre o Firefox OS.
A capacidade de criar apps multiplataforma com tecnologias web já existe. Lanço um desafio: depois de construir seu primeiro app assim, tente programar de outra maneira.
***
Este artigo foi publicado originalmente na Revista iMasters. Acesse e leia todo o conteúdo.