Negócios na Net

REDEBIZ.NET - Negócios na Net: tudo o que precisa saber para o seu sucesso online.

Subscreva o Feed de Notícias e receba no seu mail todas as novidades.
O que lê neste artigo resulta do meu trabalho.Não existem aqui conteúdos copiados. Todos os artigos têm uma assinatura digital. Se é daquela minoria que gosta de roubar o trabalho dos outros agradeço que não o faça, até porque eu vou descobrir.

Autor: Webmaster

Julho 2, 2011

Como desenvolver para smartphones?

Perante a explosão dos smartphones, de que já falei há mais de um ano, a questão que se coloca é como desenvolver para este tipo de hardware: nativamente para cada plataforma, ou usando tecnologias unificadoras, como o HTML5 e o CSS3, para além de linguagens universais no mundo Web como o Javascript?

A resposta a esta questão é talvez híbrida porque dada a necessidade em muitos casos de tornar a aplicação disponível na Apple Store ou no Android Market  isso obriga a que pelo menos parte do código seja nativo ou, no mínimo, use uma “framework” aberta que dialogue com ele (caso, por exemplo do Titanium Appcelerator ou do Phonegap).

Por outro lado o HTML5 –  que, recorde-se, dispensa o uso do Flash que o iPhone não utiliza – está rapidamente a tornar-se um standard em termos de desenvolvimento Web,  mesmo para o desktop, sendo conjuntamente com o CSS3 suportado pelos browsers das principais plataformas mobile.

Assim, a minhas sugestões serão as que seguem:

- Criar um “lançador” nativo da aplicação de modo a que esta possa estar presente nas lojas das marcas, por um lado, e por outro possa usar os recursos do hardware se necessário (GPS, marcação de chamadas, câmara, livro de endereços, consoante seja preciso).

- Daí para a frente desenvolver em HTML5 / CSS3

Note que código HTML / Javascript /CSS pode “apanhar” valores via JS por exemplo gerados na aplicação nativa, tratando as suas variáveis como fossem variáveis globais correndo dentro do “wrapper” da aplicação mobile.

Por outro lado é possível, criando um user agent customizado, alterar o comportamento do site, consoante ele venha de uma aplicação mobile ou de um browser.

Veja o exemplo a seguir:

A – Uma página em HTML 5 / CSS3 que deteta a localização do utilizador, acedida via desktop:

Imagem de site SmartLisbon

B – A mesma aplicação corrida no smartphone; neste caso, a georreferenciação é obtida pelo GPS do equipamento:


SmartlLisbon correndo no iPhone

Como é que o código do servidor sabe onde ir buscar a informação para obter as coordenadas do local? Com algo assim:

1º – É verificado se o query vem de um  determinado “smartphone”  (ver a explicação no link acima):

<script type="text/javascript">
var is_smart =(agent.match(/smart/i)? true: false);
</script>

2º – Vai buscar as coordenadas consoante a origem:

function ondestou() {
if (is_smart){
lng = locater.getLongitude();
lat = locater.getLatitude();
} 

Os valores de  locater.getLongitude()  e de locater.getLatitude() vêm do smartphone; senão o HTML 5 trata de determinar a georreferenciação através de:

window.onload=function(){	

navigator.geolocation.watchPosition(displayMap);
function displayMap(location) {
var latlng   = new google.maps.LatLng(lat,lng);

Pode-se assim tentar conjugar o melhor dos dois mundos: a linguagem nativa (ou um seu “intermediário” como referido acima para o Phonegap ou Appcelarator) para explorar as potencialidades do hardware e as tecnologias normalmente disponíveis para o desenvolvimento Web, sempre que possível.

Isto irá permitir poupar muito tempo e tornar mais rápido o desenvolvimento multiplataforma, limitando os “danos” causados pelo facto de haver vários sistemas operativos a lutar pelo mercado: Android, iOs, etc.

Comentários

Não existem comentários até ao momento. Deixe no quadro a seguir o seu.

Coloque aqui o seu comentário

Formulário de contacto

Deixe as suas impressoes preenchendo os campos abaixo

Introduza o seu endereço de E-mail:

Delivered by FeedBurner

Highslide for Wordpress Plugin