EPx professional blog and repository for braindumps

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.

30 comentários:

Gabriel Stein disse...

Pois é, você tocou num assunto bem interessante. Acho muito bacana o Qt, e a portabilidade dele. O skype pra mim é um dos bons exemplos de Qt, gostando ou não dele.

Mas eu tenho ficado preocupado com a questão KDExGNOME. Acho que ambos estão errando feito, e antes, eu que era kdemaníaco, hoje uso gnome a contra-gosto e acho apenas razoável. Motivo? O KDE4 tornou-se uma colcha de retalhos e o gnome apenas funciona. Assim, sem brilho algum ou entusiasmo. Tenho usado o KDE 3.5 e sinceramente me relembro dos áureos tempos quando usavamos o 2.2.

Desktop, linux? Eu algum dia na existência humana cheguei a acreditar, mas hoje não acredito mais. Tá certo que a equipe do Ubuntu tá fazendo um excelente trabalho - gostando ou não, tem alguns usuários migrando.

Enfim, é foda falar de Qt, porque traz muitas coisas a tona.

Mark von Übelgarten disse...

Acredito que Gnome e KDE (e seus dependentes) continuarão a existir por um bom tempo ainda -- mesmo com a disparidade de APIs e duplicação de esforços. A esperança vem da padronização de recursos e bibliotecas comuns a ambos, como o DBus, Cairo, o protocolo de Notification, NetworkManager etc., aumentando a integração dos aplicativos para o usuário, mas sem forçar a fusão de projetos (ou a morte de um deles).

O próprio GObject, mesmo com suas idiossincrasias, é eficiente para o que se propõe e cria um sistema de objetos relativamente independente de linguagem (bom para os bindinds). E tem a linguagem Vala, que parece ser a melhor C++-feita-como-deveria existente -- entendo que os autores poderiam promover o D ou Objective-C, mas a semelhança sintática com C# e Java torna-a mais natural para o momento (mas claro, sem VMs para azucrinar).

Mark White disse...

Você é um fanfarrão. O GNOME é claramente superior ao KDE, por ter nascido já como um software livre dentro do projeto GNU, o que obviamente trouxe vantagens ao projeto.

O KDE nasceu com uma visão reacionária do software fechado. O KDE é uma imitação do Windoze enquanto o GNOME é 100% original.

Viva o GNOME!! Viva o GNU!!

MyID.config.php disse...

KDE4, o Windows Vista do código-aberto.

Anônimo disse...

"(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!)"

Tentou o Handbrake no mac os? Works for me.

EPx disse...

Tentei o HandBrake. Dava segfault mais ou menos na metade do filme, sempre no mesmo lugar.

Anônimo disse...

dbus precisa ser arrumado pra não exigir reinicio em upgrades

hal tem os dias contados, será morto pelo devicekit (pra variar, fazem algo meia-boca pra resolver um problema, todo mundo começa a usar pra resolver vários problemas, aí quando todos estão contentes e despreocupados, "vamos reescrever do 0, vocês n~ao deviam ter usado tanto")

gconf.. arrrgh... o pessoal do fdp.org já devia ter definido uma API e implementação-exemplo (com backend-plaintext) pra configurações, já basta de cada programa ter um esquema... mas o objetivo lá deve ser 50% resolver problemas, e 50% adicionar bloat pra garantir trabalho futuro

Leonardo Santagada disse...

tinha um pessoal falando sério sobre o gnome 3.0 usar qt ao invés de gtk+ eu acharia legal. O problema do QT agora é que ele é feito em C++ e bindings pra ele são dificeis de fazer e no caso do Python ele ainda é GPL e não LGPL.

Tá na hora do pessoal do linux ficar reinventando a roda e ainda por cima copiando outros sistemas, o KDE 4 é o exemplo mais recente, ele é o windows vista do linux que chegou muito atrasado e ainda por cima copiou varias idéias idiotas do windows (tipo o tema preto horrivel e brega).

Se o pessoal do gnome, kde, webkit, qt e nokia se juntassem poderiam juntos planejar um gnome 3.0 realmente um passo a frente do snow leopard e windows 7 e quem sabe em 3 anos teriamos um linux realmente competindo no mesmo nível do mac/windows.

Eu só quero um binding legal pro qt no python para poder parar de tentar fazer o gtk+/wxPython funcionar direito no mac. Se tiver uma versão ctypes para não precisa de compilador então ia ser a melhor GUI pro python.

EPx disse...

Acho que tem um pessoal trabalhando numa alternativa melhor do binding Python Qt.

Rudá disse...

Infelizmente, ctypes para C++ ainda estamos para ver. Impossível não é, o problema de naming mangling é contornável (vide c++filter do GCC) , o problema é mapear as classes (se pensar que classes em C++ sao estruturas tb...) em termos de ctypes.

Sander disse...

Na minha opinião, isto está mais do que certo, por um simples motivo, esta errado!
Ambos falham, como muitos eu sempre fui fã do KDE mas no momento estou usando GNOME enquanto o kde não fica "pronto". Só que a raiz do problema não é nem a abordagem de cada gerenciador e sim seu foco, eles são muito competivos entre si,ao invés de buscar aprender com seus usuarios eles pensam APENAS(exagerando é claro =D) como desenvolvedores, sabichões que saberiam usar cada detalhe super-ultra-mega-escondido nas raizes de seus sistemas, e isto é ruim, vale lembrar que foi graças as guerras internas que a Antiga Grecia caiu, pelo exato motivo é que o linux ainda nem subiu direito...

Sander disse...

Na minha opinião, isto está mais do que certo, por um simples motivo, esta errado!
Ambos falham, como muitos eu sempre fui fã do KDE mas no momento estou usando GNOME enquanto o kde não fica "pronto". Só que a raiz do problema não é nem a abordagem de cada gerenciador e sim seu foco, eles são muito competivos entre si,ao invés de buscar aprender com seus usuarios eles pensam APENAS(exagerando é claro =D) como desenvolvedores, sabichões que saberiam usar cada detalhe super-ultra-mega-escondido nas raizes de seus sistemas, e isto é ruim, vale lembrar que foi graças as guerras internas que a Antiga Grecia caiu, pelo exato motivo é que o linux ainda nem subiu direito...

Sander disse...

Mais uma coisa, o KDE tem uma abordagem melhor pelo simpels fato de que ele tenta copiar algo que faz sucesso, mas não se deixa cair pelos mesmos e velhos problemas encontrados nos outros sistemas. Sem contar que o Plasma foi uma idéia muito boa ja que é mais viavel do que fazer extensos progrmas KDE para coisinhas menores.


O problema do GNOME esta no C, óbvio, dificulta muito, eu curso Informatica e sei as vantagens(quase todos sabem) da Orientação a Objetos, na verdade, sinceramente acho que deveriam tentar fazer um fork do kernel, Xorg e Gnome em puramente orientado a Objetos, quem sabe isto não facilitaria a vida de muita gente...

Quanto QT x GTK, não existe um melhor,, são tecnologias distintas, Qt é framework e GTK é biblioteca gráfica, mas na minha opinião a parte gráfica do QT realmente supera o GTK+ (que no final de contas esta somando se ao nada =P).

Anônimo disse...

Incrível como algumas pessoas preferem Gnome ao KDE4 apenas por "filosofia". O KDE continua o ambiente gráfico para Linux mais amigável, mais personalisável e mais bonito (principalmente agora na versão 4). Acredito que aparência e funcionalidadea sejam mais importantes para o usuário final do que saber em qual linguagem o ambiente foi escrito...

Viva ao belíssimo KDE4!

Conan disse...

Acho que essa discussão é sem pé nem cabeça, alias, como o artigo em si.
O autor está muito equivocado. Enquanto ele fala que o GTK está com os dias contados, temos indícios exatamente no sentido oposto. O chrome vai usar GTK. Quem usa hpux, aix ou sun, em algum momento vai usar GTK.
O autor do artigo é muito bom em "achismo", más oque ele escreveu não vale nada.
Tem muita besteira escrita aqui. tem até um louco falando que o problema do gnome é ser escrito em C.

ini disse...

Sei que posso estar falando besteira, mas para o KDE e o QT "vencerem", será preciso que o Ubuntu use o KDE como padrão.
Lembrem-se que não é o melhor que vence, mas sim o mais popular (se não fosse assim o windows não teria mais de 90% dos desktops).

Dois disse...

Eu vejo muita gente dizendo que o GTK+ está fardado ao fim, nunca entendia porque diziam isso, agora li um motivo, Portabilidade, apesar que alguns aplicativos GTK funcionam muito bem no windows, como o Pidgin.

Eu vejo uma evolução tão grande no uso do GTK, tantos aplicativos aparecendo, com grande usabilidade, interface bem acabada (sou um amante do GTK :D), cito o GTK-apps, xfce-look, gnome-look, com muito bons aplicativos e temas em exposição.

Porém não sou cego, e vejo que apesar da grande evoução do GTK, fica parecendo que enquanto o GTK andava o QT corria, tá muito foda o QT. Mas a um tempo atrás, vi umas infos sobre futuras funcionalidades do GTK que estão para chegar que disseram que vão fazer o mesmo dar um grande salto sobre si.

O que eu acredito que seria bom demais para o Linux em geral, seria uma união dos dois grupos mais profunda, para criar de fato uma grande compatibilidade entre eles, alguns dizem que é impossível isso, bem, quando disseram que a terra não era plana, neguin foi até inforcado!

Uma coisa que esquecem de dizer, não estou totalmente antenado, mas me informo exporadicamente, é sobre o e17, que tá muito foda, lindo, e o usei ainda em princípio de desenvolvimento, e estava levissímo, muito mais que GTK e QT juntos. Estava simplesmente sensacional, ainda está como uma promessa, mas eu aposto muito no e17, e se o fazerem ir além de uma promessa, muita gente vai chorar, uns de alegria e outros de tristeza.

As maravilhas que esse ambiente apresenta, com a velocidade e estabilidade, não merecem e nem devem ficar de canto, devem ser mostradas, um ponto de vista é claro. Porem se o e17 vier com força, será mais uma grande ferramenta para a comunidade.

valeu pelo artigo.

MarcelRC disse...

"o KDE 4 é o exemplo mais recente, ele é o windows vista do linux que chegou muito atrasado e ainda por cima copiou varias idéias idiotas do windows (tipo o tema preto horrivel e brega)."

Realmente incrível não? O KDE copiou tudo do windows vista. Vou mostrar todas: 1- a idéia(???) idiota do tema preto na barra de tarefas; 2- ehh, bem... a barra de tarefas ser na parte de baixo da tela; 3- deixa eu ver... ah sei lá, me ajudem aí...

Também gostaria de saber o motivo (com exemplos) do KDE4 ser considerado uma "colcha de retalhos".

gnome74 disse...

A única parte que vejo o qt ser superior ao gtk é que o qt já suporta cor alpha e o gtk só vai suportar na versão 3.
O que eu não gosto do kde é que ele muitas vezes cria seus próprio padrões. O Phonon foi criado porque o gnome usa e o time do kde parece ter aversão a tudo que vier do gnome. Sinceramente o pulseaudio é multi-plataforma e não foi feito para gnome ou kde, foi feito para ambos, mas a turminha do kde quer imitar a microsoft até no fato de criar seus próprios padrões, se continuar assim quem sabe não passe existir site só para o konqueror ...
O kde parece ainda usar o xine em vez de usar o gstreamer. Quanta besteira, os dois lutando entre si enquanto há ainda +90% de território neutro para conquistar.
E você dizendo que o GNOME não vale nada, como se o "Human Interface Guidelines" tivesse sido escrito por iniciativa do kde ...
Os aplicativos escritos em kdelib não são bem visualizados no gnome, mas os escritos em qt são muito bem visualizados. Uma estratégia suja que a microsoft usa com seus padrões offices, mas que finalmente está sendo destruída pelo ODF.
Os aplicativos em gnome são bem vistos no kde, pois além de não usar esta estratégia suja os desenvolvedores gnome preferem adotar soluções que possam favorecer muitos (lxde e xfce, por exemplo) do que criar os próprios padrões e desperdiçar cada vez mais recursos para que o usuário tenha a ilusão de que o ambiente tem mais recursos...
O KDE também é menos organizado que o gnome.

EPx disse...

@Conan: AIX, HP-UX e Sun também são história. Se depender desses usuários para difundir alguma coisa, danou-se...

@Dois: O e17 (EFL) apesar de eu não ter citado, é realmente muito bem-feito. O problema é que ele é mantido por pouca gente, usado por menos gente ainda, e é ainda menos portável que o GTK+ (é só pra Unix X11 *mesmo*). Este realmente dá pena ficar condenado ao ocaso, por ser bem-feito e por nunca ter criado hypes artificiais como outras tecnologias.

@gnome74: então conheça o Qt mais de perto, alpha é o menor dos diferenciais. Mas dou-lhe razão por não gostar do KDE. Eu uso GNOME (mas meu Linux roda dentro de uma VM, no Mac :) E eu não disse que o GNOME "não vale nada", pelo contrário, acho que o GNOME vai sobreviver ao GTK+ e ao KDE também.

@ini: isto não vai acontecer porque o KDE não é bom.

@MarcelIRC: bem, pergunte a quem comentou :) Para mim o problema do KDE 4 é exatamente o oposto: ser um monolito onde as peças individuais são difíceis de usar individualmente.

@Sander: pois é. Note que eu não ponho fé no Linux no desktop.

Guilherme disse...

o kde, querendo ou não é um desktop completo, o gnome sim é uma colcha de retalho, não ha interação tão grande entre os aplicativos é tudo desorganizado, ja o kde todos aplicativos qt colaboram entre si, é tão confortavel isso. O phonon, solid, interagem diretamente com o hardware sendo muito melhor usar ambos para interagir com o hardware. O kde4 então é os ceus, na versão 4.2 a maioria dos bugs foram sanados, sim ele tem uam nova versão a cada 6 meses com muita novidade, não igual ao gnome. Mas, então, eu uso ambos os desktops, gnome e kde, tbm uso o e17, e na minha opinião, todos tem sua valia, defendi o kde aqui por que vejo um monte de fã do gnome criticando o kde sem conhece-lo. Todos tem seus prós, e o e17 é o mais belo. O gnome é mais geito mac, enquanto o windos 7 parece copia do kde4 xD

Conan disse...

@EPx,
Em que mundo você vive?
AIX e HPUX são história? K K K K K K K K. Você deveria escrever num blog de humor!

tá ligado nos servidores com processador POWER 6?
Até podemos discutir com relação ao SUN.
Vai estudar um pouco antes de falar besteira.


E o chrome, também é história?

Roberto Teixeira disse...

Esse último comentário do Conan é de longe o mais divertido de todos. @Conan, isso aí, cara, estou contigo! AIX e HP-UX são plataformas super populares e o GTK+ vai prevalecer por causa delas!

Ou não... :-)

EPx disse...

Embora eu ache que o Chrome usar GTK+ é um erro, é na verdade um erro pequeno porque ele certamente vai usar o GTK+ apenas para criar o GtkCanvas. Daí para frente, é direto com o Cairo a conversa, e realmente nesse nível todos os toolkits são iguais, todos simplesmente desenham polígonos.

Quanto a HP/UX e AIX, realmente eu estava errado, grandes sites como o Google e o Yahoo! usam HP/UX e AIX. Usar Linux em Intel é só pra lojinha de shopping, né?

Anônimo disse...

Comentário noob: Pra quem tá chegando em linux, tentando pela segunda vez (a primeira em 2008), nota-se porque esta plataforma não irá evoluir tão cedo.
Tem muita ideologia e pouca interação.
Pro usuário, é muito mais complicado decidir o que instalar e o que começar a estudar.
Quando o linux deixar de estar em ilhas e virar continente (se ocorrer), então ele chega em desktops.

Anônimo disse...

De todos os comentários este último foi o mais sensato. Afinal de contas: "O meu é melhor que o seu!", é coisa de crianças tolas...hahahahahahaha...adoro isso...tolas...talvez eu seja um tolo...hehehehehehe...pelo menos tenho o bom senso de não ignorar a possibilidade, diferente de muita mãe Diná aí.

gnome74 disse...

Eu estava pensando. Se o Photoshop se tornasse open-source hoje, os trabalhos com o GIMP iriam parar?
Foi o que aconteceu com o GNOME, se o KDE tivesse usado um toolkit que sempre foi open não teria o gnome e o xfce incomodando ... .
Eu estava lendo uma notícia ( http://arstechnica.com/old/content/2008/04/reinventing-gtk.ars ) e parece que muitos dos problemas do GTK+ vão acabar com a versão 3.0, então acho que seria interessante fazer uma nova versão desta revisão também. Parece que o GNOME 3.2 será ótimo.

Anônimo disse...

Gnome original? Experimente usar um Mac e veja as semelhanças. O Gnome é um merge do Windows com o Mac.

Fernando Lima disse...

Gostaria de saber de onde você tirou isso: "Até existe GTK+ para outras plataformas, mas são builds extra-oficiais, feitos por gente corajosa..."

Para mim depois dessa e do AIX/HP-UX serem história, o artigo e o autor perderam todo o crédito.

Leonardo Fontenelle disse...

Interessante a previsão da disseminação do Qt. Destaco entretanto que um dos motivos da "arrumação de casa" do GTK+ é facilitar o acréscimo de recursos e portabilidade, de forma que o toolkit continuará a ser relevante. O GNOME continua a ganhar popularidade no GNU/Linux, agora falta o SO se popularizar...

Postar um comentário