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. |