Python para S60: Trabalho em Andamento?

Eu fui um dos sortudos que perderam o celular a alguns meses atrás, durante aquele show maluco do AC/DC. Surpreendentemente, isso não me deixou aborrecido; apesar de não ser um heavy user, essa foi a oportunidade perfeita para eu comprar meu primeiro smartphone.

No fim das contas eu acabei com um Nokia 5800 XpressMusic, um smartphone relativamente barato e com features interessantes. Especificamente, o fato de poder rodar aplicações Python nesse aparelho foi um fator decisivo!

Mas, o que exatamente podemos fazer com Python para S60? Eu decidi implementar uma aplicação não trivial para ver exatamente o que pode ser feito com ele. A aplicação em questão é um controle remoto Bluetooth chamado Pytriloquist. (veja também screenshots e vídeo de demonstração.)

O que é Bom

Independência de Plataforma. A SDK para S60 só roda em Windows (que novidade). Isso obviamente é ruim para quem costuma usar outros sistemas operacionais. Felizmente, você não precisa de uma SDK gigante para desenvolver e distribuir aplicações para S60 se você escrevê-las em Python; tudo o que você precisa é do Python para S60, um editor de texto e um aparelho para testes.

Linguagem e Biblioteca Padrão. Python é uma linguagem excelente: compacta, bonita, poderosa e tem uma biblioteca padrão sensacional. A boa notícia é que a maioria dos módulos rodam bem no S60. Por exemplo, é possível até localizar suas aplicações usando o módulo gettext!

O que é Ruim

Trabalho em Andamento. Python para S60, até onde me consta, é um trabalho em andamento. Isso significa que a linguagem em si funciona bem, mas você pode dar falta de certos módulos ou encontrar bugs na biblioteca padrão. Por exemplo, enquanto eu escrevia o código Bluetooth para minha applicação, eu dei de cara com um bug muito chato onde você só pode chamar btsocket.bt_discovert() uma vez!

Código Multi-Módulos. Se você está testando sua aplicação com Python ScriptShell, tudo irá funcionar de cara desde que você mantenha todo o código dentro de um único — e enorme — módulo. Se você quebrar seu código em vários módulos (ou pior, pacotes), você não poderá ter módulos importando uns aos outros, a menos que você ajuste o PYTHON_PATH de acordo.

Documentação Incompleta e Desatualizada. Existem alguns PDFs e algumas documentações de API disponíveis, mas elas estão incompletas e desatualizadas, o que é ruim quando se trata de uma linguagem dinâmica; nós não temos um compilador para nos dizer o que há de errado com nosso código. Esse é o motivo pelo qual desenvolvedores Python são tão cuidadosos com documentação pra começo de conversa.

O que é Feio

Acesso Limitado a Recursos Nativos. Especialmente em se tratando do sistema de UI nativo: você não pode mudar o texto das duas soft keys padrão, nem adicionar soft keys, nem adicionar mais que duas abas, nem ter um Listbox vazio, nem um monte de outras coisas. Você pode escrever UIs simples sem muito esforço, isso é verdade, mas essas deficiências todas tornam Python para S60 simplesmente inutilizável em projetos mais complexos.

Inatividade do Projeto. O projeto parece estar em modo “stand by”. Novos bug reports são enviados de tempos em tempos, mas nenhum bug foi fechado há mais de seis meses.

Conclusão

Espero que as coisas mudem para melhor após o último anúncio feito pela Fundação Symbian, mas, enquanto isso, se você pretende criar aplicações sérias para S60, o faça em C++.

Sobre Daniel Martins

Fundador da Destaquenet, ele é graduado em Sistemas de Informação e desenvolve softwares como hobby e profissão desde 2000. Especializado na plataforma Java, ele utiliza a tecnologia há vários anos, sendo programador e desenvolvedor web certificado pela Sun Microsystems, recentemente adquirida pela Oracle. Também se interessa por assuntos ligados à cultura open source, metodologias ágeis, engenharia de software, frameworks e linguagens dinâmicas tais como Python, Ruby e Smalltalk.
Esta entrada foi publicada em Português, Programação e marcada com a tag , , , , , , , . Adicione o link permanente aos seus favoritos.

Uma resposta a Python para S60: Trabalho em Andamento?

  1. Complementando, foi só eu reclamar da inatividade do projeto pra sair uma nova versão:

    http://br-linux.org/2010/python-para-symbian-pys60-2-0-0/

    Ela trás correções para pouquíssimos bugs e apenas uma feature request, mas já é alguma coisa. Vamos continuar na torcida!

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">