Stoa :: Igor dos Santos Montagner :: Blog :: Desenvolvendo PyS60 no PC com Windows ou Linux

janeiro 19, 2009

default user icon

Após apresentar a plataforma PyS60 num post anterior, vou comentar agora opções reais para o desenvolvimento de programas "de verdade".

Depois de digitar as primeiras linhas de python no celular, fica bem óbvio que é impossível fazer alguma coisa um pouco mais séria usando o numpad. Por isto, existem algumas opções para desenvolver um aplicativo completo usando somente o computador. Vou começar falando sobre o ambiente Windows, que é o ambiente suportado oficialmente pela Nokia e que já usei e achei a alternativa mais prática.

Windows

Para desenvolver PyS60 em Windows tudo ocorre muito tranquilamente, basta seguir os seguintes passos em ordem:

  1. Baixe e instale o Active Perl
  2. Baixe e instale o SDK de Symbian C++ aqui. (Use a macro Next, Next, Next :)
  3. Baixe e instale o SDK do PyS60 aqui.(Instruções de instalação estão contidas dentro do zip. Em geral é só copiar alguns arquivos para a pasta que você instalou o item anterior).
A instalação é relativamente simples, mas se alguém tiver alguma dúvida é só falar. A versão que deve ser usada do SDK C++ é alguma que seja "3rd edition", de preferência a mais nova. O mesmo vale para o PyS60.

Agora é "só" usar o emulador que vem incluso no SDK de C++ para testar os seus aplicativos. Para fazer um arquivo ser visível no celular basta colocá-lo na pasta C:\Symbian\9.x\S60_3rd\Epoc32\winscw\c\python (no meu caso, que instalei o SDK no C:, substitua o x pela versão que você baixou) e rodá-lo do mesmo modo que no celular. Ao abrir o emulador, o programa Python já estará instalado. É só clicar nele e usar a opção 'run script' para rodar seus programas.

Linux

Aqui é que a coisa fica mais feia: a Nokia (ainda) não suporta o Linux para o desenvolvimento de aplicações PyS60. O que existe são uma série de alternartivas, a maioria envolvendo bluetooth, para fazer o celular "falar" com o linux. 

Como não possuo nenhum computador com bluetooth, não consigo testar nenhuma destas alternativas. Vou deixar aqu, então, um conjunto de referências interessantes e se alguém conseguir testar, por favor diga como foi a experiência.

Forum Nokia -- Desenvolvendo com Linux (comenta como transferir arquivos por bluetooth para o celular)

PUTools (Conjunto de ferramentas para facilitar a transferência e teste de programas. Ele permite fazer uma espécie de sincronização por BT e identifica os arquivos que mudaram, enviando só o necessário. Parece muito interessante)

Agora uma notícia boa: existe uma biblioteca chamada pys60-compat que promete simular pyS60. Ela implementa os módulos específicos do telefone em wxPython. Como nem tudo são flores, partes da biblioteca padrão do pyS60 não estão disponíveis, como audio e telephone, mas mesmo assim é possível testar interfaces de usuário. Além disto, eles dizem que suportam Canvas e TopWindow! O link para o projeto é este.Testei um pouco e parece funcionar legal se tomarmos cuidado com alguns detalhes. É definitivamente uma boa opção para testar o programa antes de passar para o celular, mas nada garante compatibilidade entre os dois. Aliás, sugiro que baixem o código do svn, já que o release é muito antigo e o svn parece ter coisas novas. (não tenho screenshot de linux ainda... coloco um aqui depois)

Internet:

Existe um ótimo jeito de testar (e de desenvolver também) seus aplicativos em vários celulares reais usando somente sua conexão com a internet. Usando o Remote Device Access (RDA) podemos reservar um ticket para usar um aparelho real por meio de uma interface web feita em Java e bem parecida com a do emulador para Windows. O funcionamento fica meio lento, mas dá para mexer bastante, principalmente se o acesso a internet for necessário. Os aparelhos que contém wi-fi podem conectar em uma rede wireless local e os que não possuem tem um chip gsm de dados, podendo navegar e usar a internet tranquilamente.O lado ruim é que esses tickets são limitados por dia (tem bastante para umas 8 horas por dia, mas nunca se sabe... :p )

 

 

Estas foram as opções que encontrei para desenvolver PyS60 no celular. Podemos ver claramente que nós usuários de Linux estamos meio carentes de opções, e para usuários que não têm nenhum PC com bluetooth (como eu) só sobra o RDA, que é meio lento e o pys60-compat, que em termos de fidelidade ao aparelho perde para o RDA e para o Emulador. O PUTools me pareceu realmente bom e pode ser uma boa opção.

O resultado de minhas pesquisas confirmou o que eu já esperava: o ambiente Windows é bem melhor para desenvolver aplicações, quase exclusivamente por causa do emulador, que ajuda tremendamente no processo de desenvolvimento de um programa. Para que usa Linux, tenho a impressão de que a melhor opção é usar o RDA. Você vai ver o seu programa rodando em diversos aparelhos e não terá problemas como "meu programa roda no emulador mas não no aparelho!". Além disto, considero uma boa prática testar o programa no máximo de devices possível e o RDA permite isto.(se tiver BT, dar uma olhada no PUTools é muito bom também)

 

Se alguém conhecer alguma boa alternativa que não encontrei ou tiver alguma dúvida não hesite em falar :)

 

Palavras-chave: linux, mobile, nokia, pys60, python, s60, sdk, smartphone, windows

Este post é Domínio Público.

Postado por Igor dos Santos Montagner

Você deve entrar no sistema para escrever um comentário.

Termo de Responsabilidade

Todo o conteúdo desta página é de inteira responsabilidade do usuário. O Stoa, assim como a Universidade de São Paulo, não necessariamente corroboram as opiniões aqui contidas.