Previsão: HTML5 como plataforma ubíqua no mundo móvel

Este artigo foi publicado originalmente na Revista Espírito Livre ed. 33 com tema “Previsões para 2012″. Não deixe de ler os demais artigos, pois está muito legal!

O HTML5 é uma das tecnologias mais comentadas do momento. Composto de um conjunto de padrões abertos, promete possibilidades ilimitadas para o desenvolvimento de sites e aplicativos web, inclusive para rodarem em dispositivos móveis.

Dentre suas capacidades, incluem execução de áudio e vídeo, execução de animações e até mesmo execução offline. Isto tornariam obsoletas algumas tecnologias proprietárias que dependemos hoje, como o Adobe Flash. Isto tanto é verdade, que a Apple há tempos abandonou o Flash no iOS [1], abraçando o HTML5, e motivou a Adobe a abandonar esta tecnologia no mundo móvel em prol também do padrão aberto [2].

No entanto, a maior parte do desenvolvimento móvel feito atualmente é baseado em kits de desenvolvimento nativos de cada plataforma, abordagem muito comum nos aplicativos desktop antes da explosão da “computação em nuvem”. A grande desvantagem disto é que os desenvolvedores devem portar suas aplicações para cada sistema que deseja executá-las, um trabalho que não é fácil.

O mundo desktop evoluiu para a web e o mundo móvel também irá evoluir para a mesma direção, mas desta vez será muito mais rápido. Com capacidades exclusivas para celulares e tablet modernos, o HTML5 será a plataforma que possibilitará esta evolução.

O futuro já começou

Atualmente já existem alguns frameworks de desenvolvimento, como o Rhodes Mobile [3] e o PhoneGap [4], que geram aplicações para múltiplas plataformas, utilizando HTML5 e rodando a aplicação no navegador web do dispositivo. Detalhe importante é que, em outubro, a Adobe comprou a empresa por trás do PhoneGap, mostrando que não está brincando quando diz que irá mudar seu direcionamento no mundo mobile.

Outra boa notícia para quem acredita nesta tendência, foi a da abertura do código do webOS [5], sistema móvel da HP que foi desenvolvido originalmente pela Palm. Este é um sistema operacional totalmente baseado em tecnologias web, dentre elas o HTML5.

Seu framework de desenvolvimento de aplicativos, o Enyo [6], também terá seu código aberto e a expectativa é que a comunidade porte-o para outros sistemas móveis, como Android e iOS.  Caso isto aconteça, será mais uma boa opção para quem desejar desenvolver aplicações para diversos dispositivos.

Conclusão

Apesar da especificação do HTML5 ainda não estar finalizada, com muitos detalhes ainda indefinidos, suas evoluções estão sendo acompanhadas de perto pela comunidade e por todas as empresas do ramo. Certamente muita evolução acontecerá no decorrer de 2012 e a tendência é que a tecnologia ganhe ainda mais espaço, tanto no mundo desktop quanto no móvel.

Com esta expansão, 2012 poderá ser um ano em que o HTML5 começará a ser considerado como uma das principais plataformas para desenvolvimento móvel. Com isso, ganhará o desenvolvedor, que poderá disponibilizar suas criações para usuários de múltiplos sistemas de maneira simples, e também ganhará o usuário, que terá uma gama ainda maior de aplicativos disponíveis.

Referências:

Visual moderno em aplicativos Android

Quando foi lançada, a versão 3.0 do sistema Android trouxe um visual totalmente remodelado e com diversos conceitos de interface diferentes. Desde então, a Google vem modificando a API adicionando novos padrões de UI (interface de usuário), com o objetivo de tornar os aplicativos desenvolvidos na plataforma mais intuitivos.

No início, apenas os aparelhos com versões do sistema a partir da 3.0 tinha acesso a estas novas APIs, trazendo um grande problema de fragmentação. Afinal, como tirar proveito destas melhorias se a grande maioria dos aparelhos no mercado ainda estão trabalhando com Android 2.x? Foi então lançada a Compatibility Library, para possibilitar embarcar estas APIs mais recentes junto com as aplicações, possibilitando seu acesso mesmo nas versões mais antigas do sistema.

Esta semana a Google deu mais um passo na direção certa e lançou o Android UI Design Guidelines. Leitura obrigatória para quem está desenvolvendo para a plataforma, explica todos os conceitos de interface utilizados e tudo o que você deve e não fazer ao desenvolver aplicativos.

O problema do ActionBar

Sabemos que devemos seguir o guia e utilizar as APIs de compatibilidade para poder seguí-lo, no entanto uma peça chave da interface de um aplicativo Android ficou estranhamente de fora do Compatibility Library: o ActionBar.

Uma opção seria implementar por conta própria, o que não é muito produtivo. Outra seria copiar o código de um aplicativo como o do Google I/O (o que parece ser a recomendação), mas fazer “copy-and-paste” não é uma das técnicas de programação mais inteligentes.

A melhor opção então é procurar bibliotecas de terceiros para incorporar no aplicativo. Inicialmente conheci o GreenDroid, que é utilizado no aplicativo do Ubuntu One e, além da ActionBar, tem vários outros recursos. Mas a opção que escolhi foi o ActionBarSherlock.

O ActionBarSherlock tem a vantagem de tentar ser um superconjunto da Compatibility Library, ou seja, ele já contém tudo desta API e mais a ActionBar. Melhor de tudo, se a versão do Android no aparelho é recente, ele utiliza a ActionBar nativa. Seu uso é muito simples e irei utilizar no meu novo projeto: o aplicativo para Android da Revista Espírito Livre.

Mais fontes de estudo

Com o problema do ActionBar resolvido, você pode começar a desenvolver seus aplicativos Android utilizando todo o potencial da plataforma e, ainda assim, mantendo a compatibilidade com até a versão 1.6 do sistema.

Um site bem legal que conheci nas minhas buscas (onde conheci do ActionBarSherlock) é o Android UI Design Patterns. Ele contém diversos artigos explicativos dos padrões de interface para Android, dicas de implementação e muito mais.

Outra dica boa é o site Android Assets Studio, que é uma mão na roda para criação de ícones para seu aplicativo. Eu que não sou nenhum artista gráfico, consegui criar ícones simples porém bonitos com apenas alguns cliques.

Espero que as dicas acima os ajudem a desenvolver aplicativos com excelente visual e consistente com a plataforma Android. Caso tenham alguma outra dica, compartilhem nos comentários!

Esperanças com a abertura do webOS

No último dia 09 de dezembro, a HP anunciou que abrirá o código do seu sistema operacional, o webOS, numa tentativa de se manter relevante no mercado de dispositivos móveis. Apesar dos seus conceitos de interface de usuário inovadores e ter cativado todos os seus poucos usuário, ele foi a grande promessa de volta por cima da Palm que nunca se concretizou.

web + OS

Apesar de não conhecer o sistema, o que mais me chama atenção para o webOS é o desenvolvimento de aplicativos feito utilizando padrões web (HTML5/CSS/JS). Tenho visto os vídeos da W3Conf e tenho me tornado um entusiasta cada vez maior do HTML5, a ponto de achar que a tecnologia é o futuro do desenvolvimento móvel. Sendo assim, acredito que os sistemas móveis baseados em padrões web são os mais preparados para o futuro e que os dias dos SDKs nativos estão contados.

Mas o webOS não é o único a apostar nesta ideia. Existem outros dois sistemas, atualmente em fase de desenvolvimento, com princípios similares: o Boot2Gecko (ou B2G), bancado pela Mozilla, e o Tizen, bancado pela Intel e Samsung com a benção da Linux Foundation. Além de apostarem na plataforma web, os três são sistemas que rodam sobre o kernel Linux e serão livres.

Mas ainda existe espaço?

A pergunta que realmente fica é: “será que não é tarde demais?” Num mercado dividido ente iOS e Android, com o Windows Phone querendo entrar na briga, será que o webOS tem futuro ou será que acabará como o Symbian?

Assim como tem acontecido no mundo desktop, acredito que o no mundo móvel o sistema operacional perderá cada vez mais a importância como plataforma de execução de aplicativos, deixando esta tarefa para o navegador e a “nuvem“. Sendo assim, acho que um sistema que aposta nisso tem grandes chances de ser relevante.

No entanto, o webOS livre lutando sozinho provavelmente será tão “bem” sucedido quanto o webOS fechado. Mas se a HP juntar seus esforços junto com o B2G e o Tizen, o futuro poderia ser realmente promissor.

webOS + B2G + Tizen

Dos três sistemas, o webOS é o único que está pronto hoje. Ele só precisa substituir as partes que não poderão ser abertas, um esforço que os outros dois projetos poderiam ajudar. Com todos os esforços direcionados para a mesma base de código, poderíamos ter algo espetacular!

Do ponto de vista comercial, existirão outras grandes empresas apoiando a HP, dentre elas uma das maiores fabricantes de celulares do mundo: a Samsung. Sem contar que a presença da Mozilla e da Linux Foundation poderá trazer um ar de projeto verdadeiramente open source, o que pode trazer confiança e investimentos de outras empresas que não se sintam bem atendidas pela Android ou pelo Windows Phone.

Na torcida por um futuro mais aberto

Tudo o que escrevi são apenas devaneios, mas realmente torço muito para que isto aconteça. Teríamos um sistema com código e governança livres e baseado em padrões abertos e interoperáveis. Isto seria bom tanto para os usuários, que terão mais liberdade de escolha, quanto para os desenvolvedores de software, que não precisarão portar seus aplicativos para diversas plataformas.

Hack’n Rio: inscrições a preços promocionais

Como muitos de vocês devem saber, estou organizando o Hack’n Rio, evento nascido da ideia do Júlio Neves: fazer um grande evento com enfoque técnico. Junto comigo está um grupo de peso acostumado a organizar eventos e apoio jurídico da ONG ALTA.

Logotipo do Hack'n Rio

O grande diferencial do Hack’n Rio é o enfoque técnico e nosso objetivo é que os participantes aprendam bastante durante o evento. Então, nada mais natural do que esperar muitos estudantes interessados no evento, certo? Muitos que estão acostumados com os valores cobrados em outros eventos, devem pensar que um evento deste porte e com duração de 2 dias deve custar caro demais para estudantes, certo? ERRADO!

Durante todo o mês de agosto, os ingressos do Hack’n Rio estarão ao preço promocional de R$ 25,00! Portanto, você tem ainda 2 semanas para fazer sua inscrição e aproveitar a promoção!

ORC: Meu primeiro projeto Android

Meu amigo do SL-RJ Gabriel Duarte resolveu começar a estudar desenvolvimento Android e começou a desenvolver um pequeno projeto. O projeto, nomeado posteriormente de ORC (Open Remote Control), tem o objetivo de oferecer uma ferramenta para controlar um computador através de um smartphone Android utilizando uma rede WI-FI.

Ele pediu ajuda para o desenvolvimento do projeto na lista do Android In Rio e eu resolvi entrar nesta empreitada, tanto para ajudá-lo com Java (como se alguém que sabe tudo de C/C++ precisasse de ajuda em Java, né? :P ) como para aprender num projeto real a desenvolver para minha plataforma móvel preferida!

Bem, fica então o convite para todos os interessados a contribuirem para o projeto, que é 100% livre licenciado sob GPL. O código está no Github (que já falei num post anterior) e tenho certeza que iremos aprender bastante!