Imagem post: Conheça de verdade o Boot2Gecko (ou FirefoxOS)
Tecnologia e Tendências

Conheça de verdade o Boot2Gecko (ou FirefoxOS)

Não seria lindo se pudéssemos criar apps nativas para um sistema operacional mobile totalmente open source e feito em HTML, CSS e JavaScript? Bom, agora você já pode.

Por
27

Uma das coisas que eu tenho notado nos últimos tempos é o volume de desenvolvedores web com interesse no mundo mobile. Não é por menos, esse é um dos mercados de desenvolvimento que mais crescem no mundo.

Com essa onda, muitos curiosos começam a investir um pouco do seu tempo para criar apps de iPhone ou Android. Só que, logo de cara, esbarram com uma tremenda barreira, as diferentes linguagens de programação. Para criar apps nativas no iOS (sistema operacional do iPhone) você precisa aprender Objective-C. Para criar apps nativas no Android você precisa aprender Java.

Aí você pensa: “Linguagem de programação é tudo igual, o que importa é a lógica”. E realmente, migrar de uma linguagem para outra não é algo que deva assustar um programador. Porém muito tempo é perdido nesse processo, ainda mais quando você precisa lidar com cenários como tamanho grande de equipe ou curto prazo de projeto.

Essa frustração pode ser contornada através do uso de ferramentas como PhoneGap ou Titanium. O que elas fazem é prover um conjunto de APIs, possibilitando que você crie seus apps usando as linguagens que já está acostumado na web e que, quando finalizados, são empacotados para as linguagens nativas destes dispositivos.

Beleza, já não é a pior coisa do mundo, mas e se pudéssemos criar apps para um sistema operacional mobile totalmente open source e feito em HTML, CSS e JavaScript? Esse, senhoras e senhores, é o Boot2Gecko (ou Firefox OS), o sistema operacional que está sendo desenvolvido pela Mozilla.

Hoje escrevo direto do FISL (Fórum Internacional do Software Livre) em Porto Alegre. Nesses últimos dias estive em contato direto com os caras da Mozilla que estão desenvolvendo essa plataforma e por isso resolvi compartilhar com vocês o que tem rolado por aqui.

Antes de ontem (dia 26/07/12), Christian Heilmann (@codepo8) e John Hammink (@rijksband) deram uma palestra introdutória sobre esse assunto. Para quem não conhece, o Chris é o principal e mais popular evangelista da Mozilla no mundo. E se você nunca tinha ouvido falar sobre esse sistema operacional, recomendo muito assisti-lá.

Já ontem (dia 27/07/12) passei o dia inteiro no Hackathon na MozillaHQ. O objetivo era criar uma app e submeter para a Mozilla Marketplace.

Infelizmente não consegui terminar e submeter a tempo, até porque aproveitei o dia para trocar muitas ideias com esses caras e gravar um vídeo com o Chris mostrando um celular rodando o Boot2Gecko \o/.

E no momento em que escrevo (dia 28/07/12) passei boa parte do dia contribuindo para o Boot2Gecko na tradução da documentação.

Afinal, como funciona?

A plataforma do Boot2Gecko consiste em três camadas principais. A camada de mais baixo nível é chamada de Gonk, na qual inclui o kernel do Linux e toda camada de abstração com o hardware. A camada do meio é o motor de renderização Gecko, muito semelhante ao usado no Firefox. E a camada de mais alto nível é o Gaia, responsável pela interface do usuário, sendo escrita completamente em HTML, CSS e JavaScript.

E eu já posso usar?

Pode! Hoje já é possível instalar o Boot2Gecko em alguns smartphones, mas isso não é nada aconselhável por enquanto. O projeto encontra-se em contínuo desenvolvimento e falta bastante coisa para fazer. A boa notícia é que já você pode desenvolver apps para a Mozilla Marketplace.

Mas como eu posso desenvolver apps se eu não tenho um celular rodando ele?

Pra isso existem os emuladores, tem um projeto chamado Gaia Rocking onde lhe instrui como rodar o emulador. Por agora não vou perder muito tempo mostrando como rodar, já que esse não é o foco do artigo, mas para provar que o negócio funciona mesmo, aproveitei para gravar um vídeo emulando o Boot2Gecko na minha máquina. Saca só o bicho!

Quando eu vou poder usar?

A previsão é que em 2013 sejam lançados comercialmente os primeiros celulares rodando o Boot2Gecko. E adivinha em qual país essa brincadeira vai começar? Brasil! Isso mesmo, após um acordo entre a Mozilla e a Telefônica, foi definido que a venda dos primeiros aparelhos no mundo será no Brasil. Um dos motivos disso acontecer é por conta da ideia da Mozilla em abordar o mercado de smartphones com preços populares.

Concluindo

A ideia não é convencer ninguém que esse novo sistema operacional é melhor do que o iOS ou Android. O projeto está em desenvolvimento e falta muito chão para percorrer ainda.

O que vale ressaltar aqui é a incrível oportunidade de mercado para nós brasileiros. Podemos lançar os primeiros apps da Mozilla Marketplace e sair na frente comparado ao resto do mundo.

27

Por Zeno Rocha

Front-end Engineer na empresa norte-americana Liferay, Inc. Já foi desenvolvedor de software na Petrobras e no Globoesporte.com. Curitibano, mora há 5 anos no Rio de Janeiro. Tem 22 anos e é estudante de Sistemas de Informação na Universidade Federal do Estado do Rio de Janeiro.

http://twitter.com/zenorocha

Mais posts do autor

  • http://tutsmais.com.br/blog/ @felquis

    Boa Zeno, estou acompanhando, lendo tudo que consigo sobre esse tema, e estou louco pra coloca-lo no meu Galaxy, você já tentou? Vou queimar alguns neurônios pra roda-lo no Windows.

  • Régis Eduardo

    Olá Zeno Rocha, belo post… Já acompanho o Projeto do Gaia há algum tempo e estou colaborando também com a tradução. Uma pena eu não poder ir para o FISL… 

  • http://twitter.com/paulo_hp Paulo Henrique

    Bacana d+! . Posso estar enganado, mas o Windows Phone 8 tbm possibilita escrever apps com html, css e js. 

  • Marcelo Diniz

    Bacana o post Zeno, ja tinha vistou outros posts seus e esse eu pude ver vc escrevendo uma parte dele no fisl, acho q por isso fiz questão de ler e valew a pena, pois assim pude ter mais ideia ainda sobre esse projeto (é eu pderia ter vistou por la mesmo, mas tive outras prioridades a ver, não q essa não era, mas tinha outras maiores). Valew por compartillhar isso td e continue assim.. abs

  • Rodrigo Dlugokenski

    Bla bla blah… Linguagens são todas parecidas sim (como todo mundo aprendeu em “Modelos de Linguagens” em bons cursos de computação), mas o que faz o Ruby/Phyton ser superior em determinados aspectos em relação à outras? Api mais consistente, com muitas funções que não precisam ser reescritas, e são facilmente adaptáveis. Instalação e gerenciamento dessas extensões também é bem fácil com repositórios.

    >>> Ou seja, você terá que aprender um monte de APIs e a lógica que elas seguem, não só o “ifthenelse” básico deles. Além disso tudo isso que falei tem relação com todo o ecossistema, por mais que o Java tenha solução pra tudo, é tanto empilhamento de framework e apis terceiras com consistências e lógicas completamente diferentes.

    Programei já no iOS nativo e Android nativo e ainda tem outras diferenças de restrições que tem que ser aprendidas. No entanto as soluções ficam mais polidas e confiáveis que no Titanium e no PhoneGap. Ainda assim acredito que essa seja a saída para vários dos desafios, mas ainda procuro uma solução decente, pois não tive boas experiencias com esses dois frameworks que citei.

  • Rodrigo Dlugokenski

     Faltou uma parte no fim do segundo parágrafo, acho que escrevi correndo demais.

    “é tanto empilhamento de framework e apis terceiras com consistências e lógicas completamente diferentes, que é preciso de um profissional além de muito responsável, que também tenha muita experiência para que se tenha um resultado bom, do ponto de vista de código coeso e de boa qualidade.”

  • Rafael Alves

    Ótimo texto, gostei muito da matéria.

    Essa liberdade que temos em programar em linguagens mais fáceis e acessíveis aquece mais o mercado. Fico feliz em ver que o Brasil está saindo na frente em alguma área de tecnologia, cabe a nós brasileiros darmos o exemplo, mesmo que a ideia não vá para frente, temos que pegar essa brecha e mostrar o nosso potencial.

  • Carlos Sipon

    Já superou o Windows Phone ;)

  • http://twitter.com/andrebaptista André Baptista

    Ae Zeno! Parabéns pela iniciativa, ajudei você a rodar lá no seu mac!

    Grande abraço!

  • zenorocha

    hahaha muito legal andré!

  • zenorocha

    Pois é Marcelo, infelizmente não dá pra ver tudo, eu também deixei de ver várias coisas super legais =/ Um abraço

  • zenorocha

    Não sei se vale a pena colocar nos nossos aparelhos hoje em dia…falta muito desenvolvimento pela frente

  • Marcos César

    Parabéns pelo post Zeno, realmente fantástico, já estou super afim de buscar conhecimento a respeito e desenvolver. Fiquei surpreso, quando foi abordado aqui no Front in BH, não conhecia o projeto e agora estou muito interessado. Forte abraço.

  • http://tcelestino.com.br Tiago Celestino

    Eu estou esperançoso em relação ao trabalho da Mozilla.

  • http://tutsmais.com.br/blog/ @felquis

    Tem como fazer funcionar no Windows 7? Alguém conseguiu?

  • http://twitter.com/vitorsv Vitor Souza 

    Muito bacana! Realmente, HTML, CSS e Javascript tendem a tornar-se bem universais em APP, vide Win 8 que a um tempo seus app, e sua dashboard é desenvolvida nisso.

  • MDK

    Se não me engano o WebOS tinha essa mesma premissa, não?

  • http://twitter.com/refsaito Renato Saito

    Mesma idéia do Windows 8 + Marketplace.

  • Pingback: Meet the real FirefoxOS

  • Pingback: Conheça de verdade o Boot2Gecko (ou FirefoxOS) | Blog Triplo Fácil

  • Claudio Felis

    Vi uma palestra na cprecife sobre esse OS e parece ser incrivel! Fiquei mega interessado deu ate vontade de comprar um galaxy pra instalar ele…

  • Matheus Bruno

    Pelo o que eu entendi só da pra rodar no mac os.

  • Luis

    Olha o cara, querendo atenção “ae, eu que te ajudei, heim?” hahahah

  • Fellipe

    Tá aí um celular que vale a pena comprar, serei um dos primeiros da fila :)

  • Luís Henrique

    em que?

  • Rafael

    Suporta jquery?

  • Pingback: Conheça o FirefoxOS (ou Boot2Gecko) | Programador Nerd

Mais artigos