Gentoo Archives: gentoo-user-br

From: Fabiano - deStilaDo <fabianoengler@×××××.com>
To: gentoo-user-br@l.g.o
Subject: Re: [gentoo-user-br] desenvolvimento em Gtk2
Date: Wed, 22 Oct 2008 01:23:41
Message-Id: e4beb90c0810211823sb4dad23w353ac56c49579374@mail.gmail.com
In Reply to: Re: [gentoo-user-br] desenvolvimento em Gtk2 by Fernando Farias
1 http://www.wxwidgets.org/
2
3 Pra mim, definitivamente wx é "A" api programação com interface
4 gráfica, é muito mais simples do que programar direto em gtk, é muito
5 fácil fazer layouts bons, funcionais e redimensionaveis baseados em
6 sizers, e é completamente multiplataforma.
7
8 Se vc compilar no linux, ele usa gtk, (existe uma opção de usar apenas
9 x11, porém não tem todos os widgets, seria uma opção adicional pra
10 máquinas muito limitadas que não podem ter nem gtk, como dispositivos
11 embarcados), se vc compilar no windows, ele usa a win api nativa e não
12 fica aquela cara nojenta de fake como os aplicativos em java, se
13 compilar no mac, fica com o look and feel nativo tmb, etc.
14
15 WxWidgets é bem otimizada, escrita em C++, mas tem bindings pra outras
16 linguagens, sendo a principal python, mas tem pra outras como perl,
17 java, lua, eiffel, C# (.NET), basic, ruby e até javascript.
18
19 Eu gosto de programar em C++, mas se vc precisa desenvolver algo
20 rápido, python é a linguagem.
21
22 Quando comecei estudar o desenvolvimento de aplicativos gráficos no
23 Linux, eu aprendi um pouco de gtk e um pouco de qt, só não me
24 interessei por tcl/tk que eu tmb acho horrivel, mas achei complicado
25 de mais e antiprodutivo, muito trabalho pra fazer coisas simples. Aí
26 trombei com essa api, wxWidgets, fiquei impressionado com a
27 simplicidade que é trabalhar nela perto das outras opções e com a
28 qualidade dos programas do resultado final.
29
30 Ainda mais pra mim que fazia tudo no vim e os makefiles na mão, wx
31 caiu como uma luva. Depois eu achei uma IDE muito boa, Code::Blocks,
32 ela mesma escrita em wx, e que tem um plugin com um editor visual de
33 wx (a la delphi/builder) chamado wxSmith.
34
35 Dê uma olhada: http://www.codeblocks.org/
36
37 Eu testei programar em wx com o eclipse também e o codeblocks que, na
38 minha opinião, deixou no chinelo, sendo multiplataforma também, mas
39 muito muito mais rápido.
40
41 E existem outros editores visuais pra wx, como o wxFormBuilder e o
42 wxGlade que são livres e mais um monte proprietários. Nesses editores
43 visuais vc pode salvar o layout em XRC que é basicamente uma descrição
44 xml do layout e carregá-lo em runtime, podendo mudar o layout sem
45 recompilar o programa.
46
47 Mas eu ainda prefiro fazer os layouts hardcoded pq é muito simples
48 fazer com sizers e fica bom em todas as plataformas, por exemplo, uma
49 janela de diálogo simples com um listbox flexivel, com tamanho minimo
50 e que se redimensione junto com a janela, com dois botoes do lado
51 direto, de tamanho fixo mas que fiquem centralizados em relacao a
52 altura do listbox (ou alinhados com o topo se preferir) e em baixo um
53 "OK" e "Cancelar" de tamanho fixo e que ficam sempre no centro da
54 janela: eu fiz isso em 7 linhas de código =)
55
56 Pra você ter uma idéia do poder da api, dá uma olhada em alguns
57 programas feitos com ela:
58 http://www.wxwidgets.org/about/screensh.htm
59
60 E nessa lista não consta o codeblocks que eu citei a cima, que tem uma
61 interface muito boa, e nem o que talvez seja um dos programas mais
62 famosos feito em wx: o aMule http://www.amule.org/screenshots.php
63
64 Veja também alguns screen shots do wxFormBuilder que eu comentei, um
65 editor visual de wx multi-plataforma escrito em wx:
66 http://wxformbuilder.org/?page_id=38
67
68 Outro aspecto positivo também que eu levei muito em conta foi a
69 documentação, além da referência em que é bem fácil entender todos os
70 componentes e suas propriedades, tem bastante exemplos, tutorias e uma
71 wiki mto boa. Pelo menos comparando com gtk e qt eu levei um décimo do
72 tempo pra fazer os hello worlds...
73
74 Eu, sem nunca ter feitos programas gráficos multi-plataforma (mexido
75 apenas no delphi/builder a muuuuitos anos atrás) fiz um sistema pra
76 controle de delivery com banco de dados sqlite e multiplataforma e
77 coloquei em produção em cerca de um mes!! =)
78
79 Sério, vale muito a pena experimentar, mesmo que vc não vá fazer nada
80 em multiplataforma, é melhor fazer em wx do que em gtk direto só pela
81 facilidade, eficiência, documentacao, qualidade e velocidade final. Wx
82 também é usado por algumas empresas como a Red Hat, NASA, AMD,
83 Xerox... =)
84
85
86
87 2008/10/21 Fernando Farias <fernnf@×××××.com>:
88 > Podias utilizar ruby+gtk2 simplificaria bem as coisas, mas se vc gosta de
89 > programa utiliza a biblioteca gtkmm (C++/GTK) é muito bom.
90 >
91 > Fernando Farias
92 >
93 > 2008/10/21 Diogo Dutra <diogo.comp@×××××.com>
94 >>
95 >> Bom cara, se vc quer produtividade eu recomendo vc usar o glade com a
96 >> libglade...
97 >> Basicamente oq a libglade faz é o seguinte:
98 >> Pega um arquivo XML com as marcações de todos os widgets e suas
99 >> propriedades (widgets são os elementos gráficos, por exemplo botão,
100 >> label, textentry, etc), e tb atribui um nome de função a cada widget
101 >> desse para ser sua callback (a função callback é a função q vai ser
102 >> chamada toda vez q vc executar um determinado evento).
103 >> Aí no seu código vc só precisa abrir o xml, q a libglade faz
104 >> praticamente td pra vc!
105 >> Então vc só precisa basicamente se preocupar em escrever as suas
106 >> funções callback, isso aumenta mto a produtividade =)
107 >>
108 >> Tem um monte de tutorial na internet!
109 >>
110 >> Eu recomendo a vc a boa dupla de briga pygtk usando glade, ou seja,
111 >> python+gtk+glade, na minha opnião é a forma mais produtiva de se ter
112 >> aplicações gráficas.
113 >>
114 >> Mas se vc realmente quiser se aventurar no mundo das aplicações
115 >> gráficas, eu recomendo vc estudar Evas/Edje, q é uma alternativa mto
116 >> legal tb!
117 >>
118 >> Qualquer coisa estamos aqui =)
119 >>
120 >> 2008/10/21 Davi Vidal <davividal@×××××××××××××.br>:
121 >> >
122 >> > Boa tarde a todos.
123 >> >
124 >> > Estou começando a estudar o desenvolvimento de aplicativos
125 >> > desktop no Linux e
126 >> > acabei optando por usar a Gtk2 ao invés da Tcl, Tk e Qt. Se eu for
127 >> > desenvolver
128 >> > em Perl, eu perco em portabilidade usando a Qt. Eu acho a Tcl e a Tk
129 >> > feias.
130 >> > Por isso optei pela Gtk.
131 >> >
132 >> > Qual linguagem vocês recomendam: C++ ou Perl?
133 >> > Alguém tem qualquer documentação introdutória a esse assunto?
134 >> >
135 >> > Eu sou totalmente leigo em aplicações gráficas. Tudo o que eu sei
136 >> > é dos meus
137 >> > tempos de Borland C++ Builder, mas quero evitar uma IDE até aprender
138 >> > como as
139 >> > coisas funcionam, se possível.
140 >> >
141 >> > Resumindo: que linguagem você me recomenda usar? C++ ou Perl?
142 >> > Você me
143 >> > recomenda algum site ou livro?
144 >> >
145 >> > Obrigado,
146 >> > --
147 >> > Davi Vidal
148 >> > --
149 >> > E-mail: davividal arroba siscompar ponto com ponto br
150 >> > MSN : davividal arroba msn ponto com
151 >> > GTalk : davividal arroba gmail ponto com
152 >> > Skype : davividal
153 >> > YIM : davi_vidal
154 >> > ICQ : 138815296
155 >> >
156 >> >
157 >> >
158 >>
159 >>
160 >>
161 >> --
162 >> =======================
163 >>
164 >> Diogo Dutra Albuquerque
165 >>
166 >> Meu Curriculum Lattes: http://lattes.cnpq.br/3624796077679922
167 >>
168 >
169 >
170 >
171 > --
172 > "A computer is like air conditioning: it becomes useless when you open
173 > windows." - Linus Torvalds
174 >
175 > Fernando N. N. Farias
176 > IT Analyst CTIC/UFPA
177 > Computer Engineer M.Sc. Student
178 > GERCOM/UFPA Team Member
179 > Federal University of Pará
180 >
181 >
182
183
184
185 --
186 Fabiano.

Replies

Subject Author
Re: [gentoo-user-br] desenvolvimento em Gtk2 Raphael MD <raphamejias@×××××××××.br>
Re: [gentoo-user-br] desenvolvimento em Gtk2 Claudio Pereira <indiox@××××××××.org>