sábado, 17 de dezembro de 2011

HTML 5, Flash, Flex, Air e Outras Drogras - Parte 1

Resolvi aproveitar o sábado de sol para fala sobre o tumulto no mercado web sobre Adobe com o Flash, Flex, Air e o HTML 5. Não vou puxar sardinha para o lado de ninguém, porém vou montar um cenário para cada uma das plataformas.

A cerca de mais ou menos um mês a Adobe anunciou descontinuar o plugin do flash para Mobile, o mercado entendeu descontinuar o Flash e muitos falaram "HTML 5 ganhou".

Flash Player Mobile

Em primeiro lugar, vamos pensar o seguinte, esse plugin comia bateria dos poucos celulares que rodavam o plugin e não previa a virada de mesa dos smartphones sem teclado como o iPhone. O mercado mobile para o flash era pequeno por conta disso e ficou ainda menor com o iPhone que aproveitou o conceito de Apps para matar o plugin, com isso os números da Adobe para mobile não foram nada bom.

Não preciso explicar o gráfico, certo? Esses números eu peguei no próprio site da Adobe, e representa a penetração do Flash Player Mobile no mercado e a previsão até 2015. Então com isso a gente pode dizer que foi uma decisão sábia focada na resposta do mercado e não tem absolutamente nada a ver com o HTML 5.

HTML Mobile

Partindo para o HTML, não estou falando do 5, focado em Mobile temo um cenario favoravel a plataforma, nem todos os celulares e smartphones tem flash player, mas todo celular e smartphone tem navegador, que muito provavelmente aceita HTML.

Nesse ponto temos vários celulares com suporte a html e com a tela pequena toda navegação se torna vertical e os desafios de renderizar ficam a cargo dos navegadores que tem como trabalho transformar texto em visual e interpletar um pouco de javascript. No caso dos smartphones existem algumas diferenças por conta de recursos como o acelerômetro, multi touch e geolocalização, o que na maioria dos casos se resolvem por acesso nativo a API do aparelho pelo browser que os desenvolvedores realizam acesso pelo javascript de API's ao meu ver ainda muito pesadas como o JQuery Mobile. O lado bom dessa história para o HTML é que existem pelo menos 18 navegadores que vem instalados nos smartphones e outros a serem instalados, a lista consegui em http://en.wikipedia.org/wiki/Mobile_browser, dando ao usuário final as 2 opções: usar o que tem ou trocar e isso o flash player nunca terá como opção.

Então de forma clara e objetiva, sim o HTML é uma boa opção para mobiles, porém ainda temos outra opção de aplicativos mobile que são aqueles instaláveis, baixados, comprados na Apple Store, Android Market. Nessa hora é onde entra a comparação HTML 5 com o Air Mobile.

Air Mobile

Em primeiro lugar o que é o Air Mobile? Ele não é o Flash Player Mobile descontinuado e sim um ruimtime que possui um SDK que permite criar aplicativos nativos para plataformas específicas.

Pontos positivos para ele começam com o fato de que o desenvolvedor que conhece Flex e ActionScript consegue criar aplicativos instalaveis para iPhone, iPad, iPod, Android e Playbook sem saber nada dessas plataformas, o que para a empresa é abrir um mercado com INVESTIMENTO ZERO no profissional.

Por ser um complilador para multiplos dispositivos alguns recursos ativos e específicos acabam ficando de fora o que dependendo do aplicativo pode ser um problema, mas dependendo do recurso pode-se criar uma extenção nativa ou ANE (ActionScript Native Extenssion) que é um recurso novo no SDK do Flex e até agora nos testes que eu tenho feito resolvem boa parte dos problemas.Uma coisa que achei muito legal no ANE é que ele não se limita a gerar extensões nativas ao mobile, mas também ao desktop, as isso é assunto para outro post.

Um caso legal para o Air Mobile é pensar nas possibilidades geradas em termo de negócio e produtividade, o mesmo App se montado seguindo uma metodologia de skins, bibliotecas, orientação a objetos, pode ser fácilmente distribuido em versão web, desktop e mobile simplesmente mudando a forma de compilação.

Pontos negativos do Air mobile? Bom o principal e não estou puxando para o lado da Adobe é o fato do projeto ter sido doado a Apache Software Foundation, ponto negativo porque a comunudade de desenvolvedores Adobe esta acostumada a reportar problemas e aguardar novo releases e correções, indo para a Apache o Air e o Flex vão ficar nas nossas mãos, se tem um problema vamos resolver e isso não é muito a cara do profissional que esta mais acostumado a reclamar do que colocar a mão na massa e resolver.

Acredito que essa mudança vai exigir alguns anos de adaptação, mas por sorte a Adobe se comprometeu a continuar no projeto até final de 2012 e entregar todos os componnetes em modelo spark, o que me deixa aliviado.

Então quando usar o Air Mobile? Quando ele ganha do HTML 5?

O primeiro ponto para o Air esta no fato dele se tornar um aplicativo nativo, ou seja, você tem um ícone no smartphone com o seu app e não tem que acessar o browser e buscar nos favoritos.

O segundo é o acesso a alguns recursos que dependendo do aplicativo podem fazer diferença, se vocÊ cria um e-commerce pode ter um aviso de entrega, disponibilidade em tempo real com direito a saber se o cara recebeu e abriu a informação, se for uma loja física o app pode rodar em background e apitar que você esta perto da loja

O terceito e na minha opinião o mais importante, você pode restringir e quantificar a utilização do app, se é um ERP não é muito legal garantir acesso a qualquer um e o app instalado é uma forma de garantia uma vez que podemos gerar um token de acesso

HTML 5 Mobile

No HTML 5 mobile temos muitas coisas que o Air mobile faz, a única diferença é que não instalamos o aplicativo, pelo menos era o que eu pensava, mas ao publicar este artigo o amigo Janderson  @jandersonfc informou que já tem como se resolver isso através do appcelerator, mas continua o fato dele ser acessado via web. Boa parte do que foi dito sobre o html se aplica ao HTML 5 a diferença fica nas novas tags que fazem coisas que o Flash Player faz a mais de 10 anos.

Pontos positivos? Se não precisa instalar é só acessar e usar o usuário não tem o impacto de fazer download do app para usar, não gasta o espaço em disco do aparelho, só consome a sua internet, se estiver num wifi sem muitos problemas, mas se tiver que depender do 3g é chorar e esperar. Outro problema que se tem no HTML 5 é a questão de padronização. No mercado existem pelo menos 18 navegadores que vem instlados como padrão nos celulares e smartphones e outros montes a serem instlados, a conseguência disso é que cada um nterpleta o código ao seu bel prazer, e o que seria uma coisa simples passa a ser um trabalho de condicionais do tipo "se for navegador X faz assim se for navegador Y faz assado", isso tem se resolvido com as libs de javascript, mas mesmo elas tem esse problema e sem contar que muitas vezes não são planejadas para as baixas velocidades que temos aqui no Pais.

Então vem a mesma pergunta. Quando o HTML 5 ganha de um App instalvel?

Assim como no Air vou tentar passar três vantagens do HTML 5 em relação aos aplicativos instalávies.

O primeiro é muito claro, se o seu aplicativo atende vários usuários então acessar o app é mais lógico do que baixar e instalar para só depois usar.

O segundo foca um pouco mais no custo, no momento em que você tem um aplicativo em HTML 5 é só gritar pela janela perguntando se alguém conhece que você provavelmente vai ouvir um "eu sei". A falta de regras, padrões do HTML 5 faz que cada dia mais pessoas usem ele.

O terceiro aspecto de vantagem é que dependendo da forma com que o código seja feito e quais bibliotecasa sejam usadas, o mesmo app mobile poderá funcionar em um navegador desktop tratando apenas algumas questões visuais.

Nenhum comentário:

Postar um comentário