SDKs, Emuladores e desenvolvimento de aplicativos para smartphone

14.10.09 ·

 

O desenvolvimento de aplicativos para smartphones é uma área em rápido crescimento. Assim como no caso dos PCs, podemos dividir os aplicativos disponíveis em duas áreas: aplicativos web e aplicativos nativos. Os aplicativos web incluem serviços como o Gmail e o Meebo, que, embora rodem dentro do navegador, substituem as funções (e até certo, ponto mesmo a aparência) de aplicativos nativos. A grande vantagem é que eles podem ser usados por qualquer um (basta ter uma conexão com a web e um navegador minimamente compatível) mas, por outro lado, eles têm também a desvantagem de consumirem uma boa dose de processamento.

No caso dos smartphones, as limitações dos navegadores e o tamanho das telas fazem com que a maior parte destes aplicativos fiquem inutilizáveis. Serviços que oferecem versões reduzidas (como no caso do Gmail), continuam acessíveis, mas serviços como o Meebo e o Google Talk, não.

A resposta para o problema são os widgets, aplicativos escritos usando javascript (e outras linguagens web) que, embora sejam processados pela engine do navegador, ganham status de aplicativos nativos quando executados. Dois bons exemplos são os widgets para o iPhone (disponíveis através de diversas fontes) e o Opera Widgets (http://widgets.opera.com/), que funcionam em conjunto com o Opera Mobile.

Os widgets são, via de regra, aplicativos simples, que exibem algumas informações específicas. Eles são fáceis de desenvolver, mas não permitem ir muito longe. Para tarefas mais complexas, a melhor opção continua sendo desenvolver um aplicativo nativo. Surge então a velha pergunta: como testar o programa em diversas versões do sistema, para ter certeza que ele realmente vai rodar em diversos aparelhos, sem precisar realmente comprar um de cada para testar?

Pensando nisso, quase todos os fabricantes disponibilizam emuladores com imagens pré-carregadas de seus sistemas operacionais, como parte do SDK, a suíte de desenvolvimento para a plataforma. Existem emuladores para o S60, S40, Windows Mobile, Android e até mesmo para o Palm OS Garnet:

clip_image002
Emuladores do Android e do Windows Mobile, rodando no PC

Os emuladores não são uma representação exata do que você vai encontrar nos aparelhos reais, pois não incluem todos os aplicativos e não oferecem a mesma experiência que você teria ao usar o smartphone em "carne e osso". Apesar disso, eles atendem bem ao propósito de testar aplicativos e detectar problemas de compatibilidade entre diferentes versões do mesmo sistema operacional e são, por isso, extremamente populares entre os desenvolvedores.

Naturalmente, eles são também muito úteis se você tem curiosidade em conhecer melhor como um determinado sistema funciona, mesmo sem ter acesso direto a aparelhos baseados nele. Quer conhecer a nova versão do Android ou do Windows Mobile, ou testar a nova versão do Opera Mobile para o S60? Um emulador pode ser a solução.

Começando pelo estreante, o SDK do Android, incluindo o emulador, está disponível no:
http://code.google.com/android/download.html

Existem versões para Windows e para Linux, que oferecem o mesmo conjunto de recursos. Na verdade, todas as ferramentas de desenvolvimento são originalmente desenvolvidas para o Linux (afinal, o Android é uma plataforma baseada em Linux) e são, em seguida, portadas para o Windows, de forma a não excluir os desenvolvedores que usam o XP ou o Vista. Isso permite que o desenvolvimento de aplicativos para a plataforma seja bem democrático.

No caso do Windows, descompacte o arquivo e acesse a pasta "tools\" dentro da pasta criada. Se você tentar executar o "emulator.exe" diretamente, clicando sobre o ícone, vai ver apenas uma janela do prompt do MS-DOS sendo aberta e fechada muito rapidamente. Isso acontece por que ele é, na verdade, um aplicativo de linha de comando, no qual você precisa especificar o diretório onde os dados são armazenados como parâmetro. Isso não é feito quando você simplesmente clica sobre o arquivo, resultando no erro.

Para resolver o problema, você tem duas opções. A primeira é acessar o "Painel de Controle > Sistema > Avançado > Variáveis de ambiente", clicar sobre o "Variáveis do sistema > Path" e adicionar o caminho completo até o diretório, como em "C:\android\tools\".

A segunda opção é abrir o emulator.exe usando o prompt do MS-DOS, acessando a pasta "tools\" e rodando o comando "emulator.exe -datadir ." dentro dela (note o uso do ponto no final do comando, que indica o uso do diretório atual). No Linux, o comando é o mesmo:

clip_image004

Os emuladores para o S60 (e também para o S40, caso esteja interessado) estão disponíveis no:
http://www.forum.nokia.com/main/resources/tools_and_sdks/

O link direto para os SDKs da plataforma S60 é o:
http://www.forum.nokia.com/main/resources/tools_and_sdks/S60SDK/

Por incluírem todas as ferramentas de desenvolvimento, os pacotes são grandes e você precisa fazer um cadastro (gratuito) antes de chegar aos links para baixar os arquivos. Em compensação, você tem acesso aos emuladores de todas as versões do sistema ainda em uso, incluindo versões lançadas recentemente. O emulador do S60 quinta edição, por exemplo, foi disponibilizado antes mesmo que o 5800 Xpress Music (o primeiro aparelho baseado na plataforma) chegasse ao mercado. Infelizmente, os emuladores estão disponíveis apenas em versão Windows, mas, apesar disso, nada impede que você os rode no Linux com a ajuda de uma máquina virtual.

clip_image006

O emulador precisa que o Perl esteja disponível. A forma mais fácil de instalá-lo no Windows é seguir as instruções do http://win32.perl.org, baixando e instalando o Strawberry Perl ou o Active-Perl. Outra dependência é o Java, que você pode baixar no http://java.sun.com.

Caso o instalador continue exibindo um erro de que não foi capaz de encontrar o perl.exe, acesse o "Painel de Controle > Sistema > Avançado > Variáveis de ambiente" e crie uma nova variável, chamada "perl.exe", apontando para o "C:\Perl\bin\perl.exe", que é a localização padrão ao instalar através do Active Perl:

clip_image008

Depois de instalado, é só abrir o emulador através do ícone no iniciar. Uma dica é que o emulador não funciona através de uma conexão remota no rdesktop (ele fecha sozinho durante o carregamento); funciona apenas localmente:

clip_image010
clip_image012
Emuladores do S60 terceira edição e do S60 quinta edição

Como o S60 3ed. não oferece suporte a touchscreen, o uso no PC é um pouco inconveniente, já que você precisa usar as setas do teclado e os botões do emulador para conseguir navegar entre as funções, diferente do S60 5ed., onde você pode simplesmente usar o mouse. Alterando as configurações, é possível simular vários tipos de aparelhos: com tela em modo retrato, tela em modo paisagem, com teclado, sem teclado, etc.

Para que o emulador consiga utilizar a conexão com a web, acesse o "Tools > Device Connection" (dentro da pasta com os ícones no iniciar) e ative o "WLAN", que compartilha a conexão do PC. Ela passa a ser vista dentro do emulador como uma conexão de rede wireless:

clip_image014

A ferramenta de desenvolvimento para o S60 é o Carbide, disponibilizado pela própria Nokia através do http://forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/. A linguagem nativa do sistema é o C++, mas existe também um excelente suporte para o desenvolvimento em Java.

Naturalmente, é possível desenvolver também em outras linguagens, como no caso do Python (veja a dica a seguir), que permite escrever aplicativos de forma muito rápida. A desvantagem do Python é que o interpretador precisa estar instalado para que os aparelhos possam rodar os aplicativos, mas, como ele é de livre distribuição, isso não chega a ser um grande problema, uma vez que você pode incluí-lo diretamente no pacote do programa.

Outro emulador bastante popular é o do Windows Mobile, que pode ser baixado através do http://www.microsoft.com/downloads/ (faça uma pesquisa por "Windows Mobile 6 SDK"). Como pode imaginar, o emulador roda apenas sobre o Windows, mas, diferente do emulador da Nokia, ele pode ser usado através do rdesktop, de forma que, ao usar Linux, você pode simplesmente instalá-lo em qualquer máquina Windows da rede e acessá-lo remotamente.

A pasta no menu iniciar inclui atalhos para imagens do Windows Mobile Classic (a versão para PDAs) e diversas imagens do Windows Mobile Professional, simulando diversas resoluções de tela, do tradicional QVGA ao square VGA (640x640) que, apesar de suportado pelo sistema, não chegou a ser usado em nenhum aparelho real.

clip_image016

O emulador permite simular uma conexão móvel para acesso à web, mas para ativá-la é necessário executar um conjunto de passos. Comece abrindo o "Cellular Emulator", cujo atalho está disponível na mesma pasta que o emulador. Dentro dele, acesse a aba "Network" e veja qual é a porta que está sendo usada pela conexão (COM5 no exemplo), que aparece no campo inferior esquerdo:

clip_image018

Em seguida, acesse a opção "File > Configure" na janela do emulador e, dentro da aba "Peripherals", especifique a porta usada pelo Cellular Emulator no campo "Serial port 0". Para que a mudança entre em vigor, é necessário usar a opção "File > Reset > Soft" para reiniciar o emulador:

clip_image020

Depois do reset, o ícone da antena passará a mostrar as barras de sinal, indicando que o emulador ativou a conexão. Entretanto, ao abrir o IE Mobile (ou qualquer outro aplicativo que acesse a rede) ele exibirá uma mensagem de erro, avisando que não conseguiu encontrar uma conexão.

Para resolver este último empecilho, clique no "Configurar", "Adicionar uma conexão de Modem" e escolha o "Linha celular (GPRS)" como modem na janela seguinte. Deixe os campos do ponto de acesso, usuário, senha e domínio nas janelas seguintes em branco e clique no "Concluir" (e, em seguida no "Ok") para finalizar a configuração. Com isso, o emulador passará a navegar normalmente (embora lento, devido à simulação de uma conexão via rede celular).

clip_image022
clip_image024

Se o emulador ainda não navegar, mesmo depois de feita toda a configuração, volte ao "Cellular Emulator" e clique na opção "Switch to 2G". A emulação de rede 3G não funciona estavelmente em muitas versões do emulador, causando o problema.

O desenvolvimento para o Windows Mobile é focado em torno do Visual Studio, que permite programar em C# (pronuncia-se "C sharp"), Visual Basic .NET ou Visual C++, de acordo com suas preferências e o nível de desempenho que é esperado do aplicativo. Você pode ver mais detalhes no: http://msdn.microsoft.com/en-us/windowsmobile/

Concluindo, existe também um emulador do moribundo PalmOS Garnet, o "Garnet OS Simulator", que está disponível no: http://www.accessdevnet.com/index.php/ACCESS-Tools/View-category.html

Baixe o "Garnet OS Development Suite > Full version", que inclui todos os componentes. Ele simula um Palm baseado em processador ARM (como o Tungsten), com a possibilidade de rodar aplicativos (basta clicar com o botão direito sobre a barra da janela e usar a opção "Install > Database") e até mesmo acessar a web. Embora poucos ainda desenvolvam para a plataforma, o emulador é uma boa forma de continuar usando aplicativos do PalmOS de que você eventualmente dependa, usando um PC ou notebook.

O pacote inclui também o "Garnet OS Emulator" que é, na verdade, o emulador para versões antigas do Palm OS, anteriores à migração para os processadores ARM.

----------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

Você está lendo um tópico de demonstração do livro Smartphones, Guia Prático:
clip_image002[4]

Autor: Carlos E. Morimoto
Páginas: 432
Formato: 23 x 16 cm
Editora: GDH Press e Sul Editores
ISBN: 978-85-99593-14-1

» R$ 48,00 + frete
(Preço nas livrarias: R$ 60)

» Compre o seu

Descrição:

Quando falamos em "smartphone", o primeiro modelo que vem à mente é o iPhone, mas ele é na verdade apenas mais um em uma briga que envolve aparelhos baseados em diversas outras plataformas, incluindo o Symbian, o Windows Mobile, o BlackBerry e o Android. Com tantas plataformas, fabricantes, modelos e serviços diferentes, é complicado fazer a escolha certa. Este livro é um guia para entender as opções, as tecnologias usadas e as variações de recursos entre os diferentes modelos. Ele mostra como obter o máximo mesmo de modelos relativamente simples e baratos, permitindo que você tire o melhor proveito da tecnologia, sem precisar gastar muito.

Postar um comentário