[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Xlibs, GTK+ ou QT ???



On Thu, Feb 20, 2003 at 10:06:07AM -0300, Luiz Fernando Andrade wrote:
> Cara,
> eu achei que o QT é mais simples de usar, e usa o C++ como padrão (que eu
> prefiro).
> o GTK+ usa o C, sei que existo o GTK-- que suporta C++ mas parece  meio
> "armengado" ...
> 
> o único problema é que o QT "tem dono" ... a TrollTech
> enquanto o GTK+ é 100% livre !!!
> 
> então quem me garante que QT continuará "livre" ?
> 
> alguem já usou as duas libs? será que tem alguma diferença na velocidade das
> aplicações compiladas usando uma e outra?
> 
> Valeu!!!
> 
 
QT está licenciada pela GPL. Logo, caso a TrollTech venha a lançar uma
versão proprietária da QT, sempre haverá as versões anteriores, que
foram lançadas pela GPL. QT é, atualmente, tão livre quanto GTK+.

Eu já usei ambas. A QT, por usar C++, acaba sendo mais fácil, porque é
mais intuitivo você programar uma interface gráfica usando objetos, que
são suportados diretamente pela linguagem. Entretanto, para compilar um
programa QT, a biblioteca faz algumas modificações na linguagem,
exigindo um pré-pré-processador (o MOC, ou Meta Object Compiler) para
que essas extensões à linguagem sejam compiladas pelo compilador C++
padrão. Resultado: lentidão em tempo de compilação; lentidão em tempo de
execução (por conta do compilador C++; isso não é mais verdadeiro hoje,
o GNU g++ está cada vez mais eficiente); portabilidade (escreva uma vez,
compile em qualquer lugar)...

Entretanto, também já usei GTK+. Gostei mais que QT, porque, como é
baseada em C, escrever front-ends para outras linguagens é bastante mais
fácil. Então, temos GTK em Python, Perl, C++, até PHP tem... Entretanto,
gosto de ficar no padrão, que é, basicamente, "Programação orientada a
objetos com uma linguagem procedural". Quem disse que não era possível
programar orientado a objetos usando C? O fato de a linguagem não dar
suporte direto à tecnologia não quer dizer que a tecnologia não possa
ser implementada. Não vou explicar aqui como é, qualquer coisa, por
favor, RTFM (www.gtk.org). Eu achei a interface clara, fácil e bastante
rápida, além de não ser necessário mexer com extensões esdrúxulas da
linguagem à que você está acostumado. A bandeira de GTK 1.2 era a
velocidade. Parece que a de GTK 2.x será acessibilidade (aí incluída
i18n).

Agora, camarada, sentir diferença na velocidade de aplicações depende
muito do tipo de máquina que você está usando, se você usa KDE 3.1 ou
não... Normalmente, para máquinas mais rápidas (600MHz+) é mais difícil
notar diferença de desempenho quando se rodam duas aplicações
semelhantes, em condições idênticas, mas usando toolkits diferentes. Se
você estiver rodando o KDE 3.1, existe um tal de Object Preloading, que
já carrega na memória tudo quanto é biblioteca relacionada ao QT/KDE que
você quiser, de forma que quando você iniciar seu programa baseado em
QT/KDE no ambiente KDE, você certamente notará diferença de desempenho.

Momento de raiva: você questionou o fato de QT ser livre ou não, não é
mesmo? O que será que Miguel de Icaza (porra, sou muitíssimo agradecido
a ele, o GNOME é uma mão na roda) quer com esse tal de Mono? Por que
tentar implementar uma coisa que não funciona e para a qual existem
substitutos (JAVA!!!) que funcionam? Se ele quer uma VM multiplataforma,
rápida e estável, ele deveria tentar antes pegar uma dessas JVMs
open-source que estão por aí dando sopa (kaffe, guava, sei lá) e fazer
um esforço para atualizá-las (Java 2, hehehe), melhorar sua eficiência,
criar novas bibliotecas (alguém conhece uma Swing open source?). Icaza
está reinventando a roda, e brincando com um parceiro EXTREMAMENTE
perigoso, que é o capet... ops, a MICRO$~1. Por que colocar uma
tecnologia deles no nosso sistema? Ainda mais eles, que nunca
contribuíram em nada (apesar de eles usarem Linux... e roubarem código
do OpenBSD) para a comunidade Open Source. Se eles não nos ajudam, por
que nós os ajudaríamos?

Até mais,
Zé

-- 
José de Paula Rodrigues Neto Assis		Linux User 175920
Brasília - DF - Brasil				counter.li.org



Reply to: