segunda-feira, 17 de novembro de 2008

Jython: Python em celulares

Quem ainda não conhece a linguagem Python deveria conhecer! ;-) Eu a utilizo bastante e é por isso que estou tentando rodá-la em meu celular - ainda não tive êxito total, mas já dei alguns passos. Procurei rapidamente na Web sobre Python rodando no celular que tenho e não encontrei resultados, por isso resolvi fazer com as próprias mãos.
Para quem não sabe, Python é uma linguagem que possui várias implementações de seu interpretador:

Meu desejo é rodar o Jython em meu Sony Ericsson W200 - ele roda Java nativamente, mas não Python; com o Jython eu teria um interpretador Python no meu bolso, ao alcance das minhas mãos! :-D Obviamente, Jython é software livre.
O arquivo JAR do instalador Jython é o: jython_installer-2.2.1.jar. Para quem não sabe, um arquivo JAR nada mais é do que um arquivo compactado no formato ZIP, seguindo algumas regras de criação de um Java ARchive, estabelecidas pela Sun. Segui os passos abaixo:
wget http://downloads.sourceforge.net/jython/jython_installer-2.2.1.jar
mkdir jython_installer
mv jython_installer-2.2.1.jar jython_installer/jython_installer-2.2.1.jar.zip
cd jython_installer
unzip jython_installer-2.2.1.jar.zip
Com isso, consegui ter acesso ao pacote jython_installer/jython.jar, que é o interpretador propriamente dito. Descompactei-o e fiz algumas modificações no arquivo META-INF/MANIFEST.MF, me baseando no mesmo arquivo do jmIrc, um cliente IRC feito em Java para celulares.
Gerei um pacote com essas modificações, baixem em: jython.jar modificado.
Enfim consegui instalar o pacote no meu Sony Ericsson W200 - depois de transferir o pacote pelo cabo USB o celular demorou mais de 3 minutos para instalar, coitado.
Por fim, não consegui rodar o interpretador. :-( Gostaria da ajuda de vocês para:
  1. Testar o pacote que criei em celulares melhores - acredito que o meu não seja potente o suficiente para rodar (ele fica MUITO tempo tentando abrir, até dar um erro).
  2. Preciso que alguém que saiba J2ME valide as modificações que fiz e o pacote JAR que gerei - sou totalmente leigo em Java.

Enfim, é isso! Conto com a ajuda de vocês para ter Python rodando em mais lugares. ;-)

--
   Álvaro Justen
   Peta5 - Telecomunicações e Software Livre

3 comentários:

  1. Olá,

    eu também tenho um W200 e isso que você está tentando fazer é impossível.

    O Jython foi criado em J2SE o que o torna incopatível com a JVM que está instalada nos celulares (J2ME).

    A única implementação real de Python para dispositivos móveis é o Python S60 para smartphones Nokia.

    Vlw!!!

    ResponderExcluir
  2. Carlos,
    obrigado pelo comentário!
    Depois de conversar com o pessoal da lista PythOnRio[1], realmente vi que, mesmo que o Jython fosse feito para J2ME não seria possível rodá-lo nesses "celulares comuns" por conta das pouquíssimas capacidades de processamento e memória.
    A melhor alternativa mesmo é comprar um S60! ;-)

    [1] http://br.groups.yahoo.com/group/pythonrio/

    ResponderExcluir
  3. Procura por um programa chamado Amora... ele tem um pacote que vem com um editor e compilador python... só não sei se tem java, mas symbian eu sei que tem...

    ResponderExcluir