Na crista da onda: Web Mobile Apps ou Native Apps ?

Smartphones e Tablets deixaram de ser promessas e se tornaram uma agrádavel novidade, na crista da onda se tornaram cólera, ultrapassando 157.8 milhões de unidades vendidas só no quarto trimestre de 2011.

Mas e daí programador ? E daí que nessa ingrata profissão onde tudo muda todo dia, com tantas possibilidades e oportunidades surgem algumas dúvidas: Pra qual plataforma desenvolver ? Qual é a melhor ? Faço multiplataforma ? E as linguagens ? E se amanhã muda tudo ? Faço pra Web ou faço nativa ?

O que é melhor é aquilo que se adequa ao seu custo, equipe e necessidade.

Mas isso não é tudo… não é tão simples assim…

Aplicações nativas são desenvolvidas utilizando uma linguagem e referências fornecidas pelo fabricante da plataforma, em geral se adequam e se sentem em ‘casa’ no aparelho (perfomance, recursos, etc), justamente por serem nativas, e temos maior controle sobre os componentes e recursos que o SDK oferece. Web mobile apps são desenvolvidas utilizando algum framework que combinam HTML 5, Jscript e CSS3, rodam no browser ou em alguma aplicação que serve como hub (HTML5 pode rodar off line e se comportar como uma aplicação nativa).

 Já é possível desenvolver Web Mobile Apps e distribuí-la como aplicação. Para tanto, podemos utilizar uma bela combinação: Jscript (frameworks Sencha Touch, Jquery Mobile, WqebApp .Net, JQTouch, etc) + PhoneGap.

O PhoneGap tem a capacidade de encapsular nossa aplicação criada utilizando HTML5; por exemplo com Sencha; e distribuirmos como aplicação instalável para vários Oss. O PhoneGap também supre a necessidade de acesso a GPS, Câmera, telefone, e outros recursos do aparelho, que não seriam acessíveis se a aplicação rodasse em um browser.

Pese os prós e contras e decida o que é melhor pra você e seu objetivo.

Quando me deparei com esta dúvida, montei uma tabela comparativa, considerando somente um desenvolvimento para Android, Iphone / Ipad e Windows Phone:

 

Web Mobile Apps

Native Apps

Interface de Usuário Como desenvolvemos apenas uma vez, corremos o risco de não manter o mesmo padrão de interface do sistema operacional. Conseguimos garantir que o mesmo padrão será mantido, já que o desenvolvimento é separado para cada plataforma.
Recursos da Aplicação Desenvolvemos nossos controles e recursos e garantimos que rodará bem em todas as plataformas. Como a navegabilidade e usabilidade muda de um OS para outro, talvez tenhamos um pequeno engodo para desenhar uma interface multi plataforma.
Banco de Dados Apesar de oferecer suporte ao WEBSql, nem todos os browsers oferecem esse padrão. O PhoneGap tem uma API especifica, mas se quisermos deixar a aplicação acessível via Browser pode ser um problema. Todas as plataformas oferecem suporte nativo e uma boa perfomance.
Perfomance Aqui utilizamos Jscript, não é compilada, dispensa explicação das diferenças com as linguagens compiladas. Utilizamos linguagem compilada, SDK do fabricante. Utiliza o que há de melhor que o aparelho possa fornecer.
Roda Off-Line Sim, HTML5 oferece este recurso. Sim.
GPS, Câmera, Disco Se utlizarmos um HUB como o PhoneGap é possível. Futuramente o HTML5 oferecerá suporte nativo e será acessível também via Browser. Isso e muito mais.
Custo de Desenvolvimento Desenvolve uma vez, compila e distribui para todas as plataformas. É mais barato. Para cada plataforma um desenvolvimento, torna o processo mais caro.
Futuro É mais garantido que não vai morrer amanhã. A qualquer hora pode mudar, mesmo com a hegemonia do Android, o futuro é incerto.
Outros A opção por Web App pode ser boa quando não precisamos de uma grande massa de dados local e acessamos dados online com frequência. Se precisamos de performance e uma massa considerável massa de dados local, aplicação nativa é uma boa pedida.

Existe ainda um framework chamado AppAcelerator, onde desenvolvemos em Jscript e compilamos nativamente para várias plataformas, inclusive como Web App.

 

Até a próxima!!!!

Anúncios

, , , , , , , , , , , , , , , , ,

  1. Desenvolvendo aplicativos multiplataforma com PhoneGap « codebroken
  2. Desenvolvendo aplicativos multiplataforma com PhoneGap « codebroken
  3. Appcelerator, alternativa para Apps Mobile Nativas « debulhado…

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: