Não podemos negar que os aplicativos para celulares e tablets (aplicativos mobile de forma mais genérica) estão cada vez mais presentes tanto no dia-a-dia dos usuários finais quanto dos desenvolvedores de software. Pular para o mercado de desenvolvimento de apps mobile é uma ótima pedida e com certeza há mercado de sobra para os profissionais da área.

Há muitas opções para quem quer programar um app mobile, mas vou citar as mais “populares”:

  • Aprender Objective C para trabalhar com iOS
  • Aprender Java para trabalhar com Android
  • Desenvolver um site que seja otimizado para dispositivos móveis
  • Encapsular este site otimizado com ferramentas que permitam um comportamento nativo, como é o caso do PhoneGap
Pelo fato de sempre ter trabalhado com tecnologias WEB (comecei em meados de 2000), optei por desenvolver meus aplicativos mobile em HTML5 + CSS3 + JavaScript. Eu não precisei de uma curva de aprendizagem grande e já consegui por a mão na massa logo de cara. Frequentemente vejo pessoas criticando linguagens de nível mais alto por elas não serem as “originais” e so é programador de verdade quem desenvolve em NOTEPAD e escreve algorítmos em ASSEMBLY. So lamento quando vejo estes comentários e ao mesmo tempo sei que são pessoas que ainda vão aprender na prática que os frameworks, encapsuladores e IDEs visuais vieram para ajudar e não para dar chance aos programadores ruins. Um programador ruim continuará sendo ruim com ou sem uma IDE fodástica. Não vou me estender nesse assunto, mas se você tiver objeções ou adendos, sinta-se livre para comentar.

 

 

O que o PhoneGap faz?

Basicamente você estará desenvolvendo páginas WEB que serão encapsuladas numa Web View nativa do iOS ou Android, nada mais do que isso. E alguns comando JavaScript irão se comunicar com o código nativo como por exemplo Acelerômetro, aGPS, Câmera, etc. É como se fosse um enorme iFrame dentro do seu aparelho que roda uma página HTML e se comunica via JavaScript com o sistema operacional nativo.

 

Quando fiz os primeiros testes no iPad 2 fiquei maravilhado com os resultados, pois praticamente tudo funcionava suavemente, porém ao testar no Motorolla Xoom a experiência não foi das melhores. O que manda quando se desenvolve em HTML nestes casos é o processamento e memória do aparelho (além do suporte ao CSS3 que nos fornece muitas ferramentas para transições, degradês e animações fluidas).

 

 

O que preciso para começar?

Aprenda HTML5 – www.w3schools.com/html5/default.asp

Aprenda CSS3www.w3schools.com/css3/default.asp

Aprenda JavaScript e jQuerywww.w3schools.com/js/default.asp | www.jquery.com

Utilize o jQuery Mobilewww.jquerymobile.com

Baixe o PhoneGap –  www.phonegap.com

Este artigo escrevi para introduzir minha linha de raciocínio em relação ao desenvolvimento de aplicativos mobile usando técnicas WEB. Pretendo escrever uma série de artigos técnicos para exemplificar e trocar experiências com outros desenvoledores. Até lá 😉

[alert_boxes title=”Atualização – 29/06/2012″ style=”box10″] Ontem conheci o KENDO UI e mudei totalmente meu conceito a respeito de performance que um framework HTML5 pode ter em aplicativos mobile. Traduzindo em miúdos, o KENDO UI Mobile é o framework HTML5 + jQuery que teve o melhor desempenho tanto no iPhone 4, quanto no meu Motorolla Titanium (Android 2.1…bleh!…). Sem exageros, mas ele chegou a aproximadamente 95% próximo a velocidade/tempo de resposta que um app nativo. Eu com certeza vou escrever muito sobre este framework!!! [/alert_boxes]