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

Replies

Subject Author
Re: [gentoo-user-br] desenvolvimento em Gtk2 Diogo Dutra <diogo.comp@×××××.com>