12/15/2006

Powered by Python

A lista de sites e empresas que utilizam Python só cresce a cada dia...

Os principais nomes são: Google, Nasa, o Governo Federal Brasileiro, Varig, IDG Now...

e agora um dos sites mais acessado do mundo tamém entra nessa lista: YouTube!


Você ainda não faz parte dessa lista? Ainda ta em tempo ein!!!!

=]

12/11/2006

Qual interface gráfica usar?

Quem está entrando no mundo Python, geralmente tem uma grande dificuldade quando se trata de desenvolver aplicativos que utilizem inteface gráfica (GUI).

O grande problema não está relacionada com a falta de recursos que python tem ou com dificuldade de programar interfaces e sim na grande variedade de bibliotecas disponíveis para Python. Sendo assim, no começo é bem complicado escolher qual utilizar.

Nesse post vou tratar das seguintes bibliotecas: PyGTK, PyQt, wxPython, PySWT, PyUi e Tkinter.

Tkinter
Acompanha a distribuição oficial do interpretador Python. É simples de utilizar, mas é muito pobre em componentes visuais. Uma grande vantagem que é portável em qualquer ambiente em que funcione o Python.


PyGTK
Baseada no GTK do GNOME, tem ricos componentes visuais e boa performance. Dois problemas que acompanham essa biblioteca é a portabilidade e o tamanho do código.
O GTK funciona também no Windows, mas não é algo confiável e fácil de se fazer...
Em relação ao tamanho do código, na sintaxe do PyGTK é necessário a utilização de comandos retundantes em muitas partes do código, assim necessitando de muitas linhas de código para se fazer algo.

PyQt
Baseada na biblioteca QT do KDE, tambem tem boa performance e ótimos componentes visuais, e a estrutura de programação em PyQt é boa, diferente do PyGTK.
O lado ruim dessa biblioteca é a portabilidade. Ela funciona em Linux perfeitamente, mas em ambientes Windows, tem os mesmos problemas que o PyGTK.
Além disso PyQt é licenciado pela GPL. Sendo assim tem alto custo para desenvolvimento para sistemas comerciais.

wxPython
Baseada em wxWindows, funciona no Windows e no Linux. Rica em componentes visuais e bem documentada. Mas é dificil de se aprender, é um poco instável, e a API é meio complicada.

PySWT
baseada no SWT do JAVA. Rica em componentes visuais e facil de utilizar. Ao meu ver, muito boa. MAs muito pouco utilizada...

PyUi
é uma biblioteca feita com o intuito de se desenvolver interfaces para jogos. Utiliza pygame.. Mas pode ser usadas para qualquer tipo de aplicação.

Conclusão:
* Tkinter - no caso de uma aplicação que não necessite grande apelo visual
* PyQT - para qualquer aplicação que seja GPL e em Linux
* PyGTK - para qualquer caso em que a PyQT não seja uma boa opção, como em aplicações comerciais
* PyUi - para desenvolver Interfaces para Games

Agora no caso de desenvolver bons aplicativos para Windows ainda fica a pergunta PySWT ou wxPython? wxPython é mais utilizada. Mas será que maior popularidade influi em melhor opção?

Eu estou testando as duas e espero encontrar a resposta...