wxPython – Introdução

abril 22, 2007 às 0:59 | Publicado em artigos, python, wxpython, wxwidgets | 5 Comentários

Em 1992, Julian Smart, lançou uma biblioteca escrita em C++: wxWindows, mas que devido pressões da Microsoft, o nome do projeto mudou para wxWidgets. A mesma implementa uma abstração da GUI (Graphical User Interface) para uma linguagem única que execute em diversas plataformas sem a necessidade de reescrita para cada. Essa biblioteca abstrai os elementos (widgets) de cada plataforma e o simplifica num única linguagem, sendo que com isso a portabilidade é principal foco.

Em 1998, Robin Dunn, anunciou o binding (porte) para python: wxPython.

Como a linguagem Python é uma ótima escolha para um desenvolvimento rápido, e wxWidgets uma ótima escolha para o desenvolvimento de uma interface rica de elementos e portabilidade, wxPython é a toolkit que une o útil ao agradável! 🙂

Apesar de ter diversas vantagens e desvantagens, cito apenas as principais:

Vantangens:

  • Portabilidade (Windows, Linux, Mac OS, entre outras)
  • Velocidade de desenvolvimento (Não chega a ser tão redundante quanto outras bibliotecas gráficas)
  • Simplicidade, atualizações de bugs & features (Tente outras toolkits em diversas linguagens, wxPython é uma das mais claras e menos burocráticas. E seu desenvolvimento é constante, sempre com novas features e bugs corrigidos)

Desvantagens:

  • Péssima documentação (Todas funções são documentadas, mas muito confusas e não claras)
  • Desempenho inferior (Pelo fato de ser interpretado e tudo ser uma abstração, é claro que não se compara a velocidade de um codificado nativamente)
  • Falta de Informação (Apesar de um bom wiki, não há muitas iniciativas em prol, muito menos brasileiras. Esse é o principal motivo que me leva a escrever sobre)

Agora vamos a prática que interessa. Como ambiente de desenvolvimento estou usando o Ubuntu Feisty 7.04.
Para preparar nosso ambiente de trabalho, vamos prosseguir:

ip_fix@konoha:~$ sudo apt-get install libwxbase2.8-0 libwxgtk2.8-0 python-wxversion python-wxgtk2.8 wx2.8-examples wx2.8-doc

Assim temos todas libs e dependências satisfeitas. Agora vamos testar pra ver se ficou tudo realmente OK. Para quem quiser baixar e compilar a partir do fonte, deve primeiro baixar o wxWidgets e em seguida o próprio wxPython

ip_fix@konoha:~$ python
Python 2.5.1c1 (release25-maint, Apr 12 2007, 21:00:25)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> wx.__version__
'2.8.1.1'
>>>
ip_fix@konoha:~$

Sim! Tudo está OK! O módulo wx foi importado e a versão foi exibida através de seu atributo especial (__version__). Já é o suficiente para prosseguirmos.

ip_fix@konoha:~$ python
Python 2.5.1c1 (release25-maint, Apr 12 2007, 21:00:25)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>>
>>> app = wx.PySimpleApp()
>>> frame = wx.Frame(None, -1, "wxPython r0x! =)")
>>> frame.Show()
True
>>> app.MainLoop()
>>>
ip_fix@konoha:~$

Acompanhe o resultado na figura abaixo:

wxPython - Introdução

Sim! Com apenas 3 linhas temos uma “janela”!

Um objeto foi criado para a aplicação em si; declaramos outro objeto para um frame com seu título definido no atributo; setamos o frame como ‘visível’; e por fim entramos no looping infinito que permanece exibindo a aplicação.

Claro que irei explicar melhor, mas no próximo post, aí temos somente código, vários exemplos e explicações.É isso, quero ver críticas, dúvidas e sugestões! São sempre bem-vindo todas! 😀

Python+wxWidgets = wxPython

abril 18, 2007 às 21:40 | Publicado em python, wxpython, wxwidgets | 3 Comentários

Estou resolvendo começar o blog com este post, porque é um tema que venho estudado em minhas horas livres (como agora).

Muitos já conhecem a linguagem Python, porém poucos sabem do binding que fizeram do wx. Não que não saibam, mas não tenho visto discussões pt_BR.

Apesar de uma grande tendência da “web 2.0” (esse pessoal do marquetingui!), onde tudo é on-line (até nosso editor de planilha! wow!), não podemos esquecer de que ainda há a necessidade de aplicações stand-alone em desktops.

Há inúmeras toolkits para esse tipo de desenvolvimento, mas por um desenvolvimento com agilidade e velocidade, optei pelo bind do wxwidgets pra python: wxPython.

Como toda escolha é ingrata, onde ganhamos velocidade de desenvolvimento, podemos perder velocidade na execução, da interpretação, apesar do bytecode não ficar tão lento ainda sim há um pequeno aumento de consumo de memória e outros recursos.

No próximo post sobre o tema, irei falar das vantangens e desvantagens sobre o uso dessa toolkit com linguagem python. Espero que desperte o interesse no pessoal! 🙂

Blog no WordPress.com.
Entries e comentários feeds.