wxPython – Introdução
Abril 22, 2007 at 0:59 | In artigos, python, wxpython, wxwidgets | 5 CommentsEm 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:
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 at 21:40 | In python, wxpython, wxwidgets | 2 CommentsEstou 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!
Feed It!
Categorias
-
Tópicos recentes
-
Comentários
Eudson em Lista encadeada em C mastigado em Funções de string em C Paulada em Lista encadeada em C kaio em Lista encadeada em C Danielly em Lista encadeada em C Blogroll
Arquivos
- Junho 2007 (1)
- Maio 2007 (2)
- Abril 2007 (3)
Blog no WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
