Gentoo Archives: gentoo-user-br

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