2009/05/23

Gnome, KDE e o trem da história (tomo 2 de 2 alpha 1)

Apesar de esconder o Qt do desenvolvedor, o KDE contribuiu com o Qt com duas coisas: deu visibilidade ao mesmo por conta da polêmica GNU/chata, e disponibilizou à Trolltech um corpo de desenvolvedores que conheciam Qt a fundo e usavam-no até o limite. Através da contratação destes desenvolvedores, provavelmente a Trolltech foi a maior patrocinadora indireta do KDE.

Silenciosamente, o Qt foi melhorando ao longo destes muitos anos, tornando-se uma biblioteca de fundação realmente completa, e o mais importante, portável para quem interessa: Mac OS X, Linux, Windows e celulares Nokia Série 60. A versão atual possui até WebKit embutido, scriptabilidade em Javascript, e renderização OpenGL opcional.

Outra inovação recente do Qt foi o sistema de plug-ins, que abre caminho a aquilo que o povo do KDE deveria ter feito desde o início e não fez: escrever extensões universais para o Qt, que aproveitam a todo o "ecossistema" (*), e não criar APIs novas não portáveis que nunca vão ser vistas pelo grande público.

(*) Eu odeio esta expressão, Sou nove-nove o suficiente ainda para preferir "comunidade".

Falando em coisas do KDE, uma idéia aparentemente risível do KDE virou um componente legítimo do Qt: o Phonon. Aprenderam como é que se faz, talvez um pouco tarde...

No Linux, o Gnome/GTK+ continua sendo o padrão, pelos fatores abordados tomo 1 desta história de cordel. No entanto, seu domínio restringe-se ao Linux. Até existe GTK+ para outras plataformas, mas são builds extra-oficiais, feitos por gente corajosa mas que desgostar de sadomasoquismo a qualquer momento. E GTK+ é apenas uma peça das muitas necessárias para se fazer um aplicativo GUI. Um GTK+ portável não é suficiente para desenvolver aplicações portáveis. O Qt é.

Na minha visão, a portabilidade é um dos dois grandes motivos pelo qual o Qt vencerá o GTK+ na arena Linux. Não que isso seja uma grande vitória do ponto de vista do Qt, já que o mundo desktop continua 95% Windows e 5% Macintosh.

Mas é uma grande vitória para quem desenvolve software livre, pois hoje é praticamente de rigueur escrever software livre portável de forma que atinja grandes audiências. As grandes vitórias do software livre têm sido acima da linha do kernel.. (Abaixo da linha do kernel, o Linux tem demonstrado ser imbatível como hóspede de máquina virtual e SO de sistemas embarcados -- grandes vitórias, mas certamente não aquelas que esperávamos.)

Voltando ao assunto, ver o Qt tornar-se um padrão para escrever software livre no Linux (que é onde estão os desenvolvedores SL), será uma bênção pois disponibiliza-o imediatamente para outras plataformas -- que é onde estão os usuários.

Portabilidade hoje não é só fazer funcionar no Windows. Tem Windows CE, celulares... São plataformas com populações numerosíssimas, que não podem mais ser ignoradas. (As que eu citei, são suportadas pelo Qt.)

O outro motivo pelo qual eu vejo o GTK+ em declínio, é sua exaustão pura e simples. A exaustão tem ou vai ter diversas causas. Excentricidades como o GObject vão tornar-se mais e mais risíveis conforme o mundo do software evolui. A dificuldade de incorporar novidades de forma racional. Quiçá o abandono em favor do Mono...

E o GNOME? Na minha visão, as peças do GNOME, ou que nasceram sob os auspícios do GNOME e que hoje fazem parte do FreeDesktop, têm grande chance de sobreviverem ao GTK+, pois tornar-se-ão os "equivalentes Linux" dos componentes encontráveis em outros desktops.

Por exemplo, o D-BUS é excelente. Talvez não faça sentido portá-lo para Windows ou Mac, que já têm seus próprios mecanismos de IPC e RMI, mas no Linux ele cumpre um papel essencial. Também simpatizo com o HAL, o Avahi e o Bluez, pois fazem bem o que prometem.

Eu diria o mesmo do GStreamer, exceto que ainda não vi os plugins GStreamer "pegarem" da forma que as DLLs de codecs do Windows pegaram. Mas cá pra nós, codecs de áudio e vídeo ainda são um saco de gatos em todos os sistemas. A prova é o sucesso do VLC no Mac e no próprio Windows -- sem falar no MPlayer. (Tentei converter um vídeo esses dias e não fui capaz de fazê-lo nem no Mac nem no Windows. Foi o mencoder do MPlayer que me salvou, no fim de tudo!)

Uma tecnologia GNOME que não está no Freedesktop mas eu aprecio, é o GConf. Acho-o tão simpático quanto o esquema do Mac OS X, e claramente superior ao Registry do Windows. Gostaria de vê-lo sobreviver.

Talvez o GNOME até mesmo sobreviva enquanto "gerenciador de janelas", já que sempre será necessário possuir um, e o GNOME não discriminar contra aplicativos não-GTK. Apesar da feiúra do GNOME, tem conseguido ser o menos pior dentre os ambientes gráficos, por simples, equilibrado, e não ficar no caminho. Naturalmente, ambientes especializados como netbooks ou tablets poderão usar outros gerenciadores de janelas.
blog comments powered by Disqus