Autor: Webmaster
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:

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

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.
TAGS: Android, HTML 5, Programação, Smartphones
Não existem comentários até ao momento. Deixe no quadro a seguir o seu.