Gentoo Archives: gentoo-user-br

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

Replies

Subject Author
Re: [gentoo-user-br] desenvolvimento em Gtk2 Fabiano - deStilaDo <fabianoengler@×××××.com>