Pensamentos sobre o GNOME 3, Parte 1
Pouca coisa mudou nos últimos anos quando se fala em temas para o GNOME. Na verdade, a mesma base que se instalou a partir das versões 2.X é a igual desde o começo de 2002. Quanto a essa área, pelo menos, pode-se ver que o GTK+ tem pouca evolução.
Parte deste problema pode ter ocorrido por dois fatores:
O primeiro é a maneira como os temas funcionam no GTK+. Para criar um tema inovador, é preciso programar uma nova engine de tema. Isso demanda muito trabalho e cria um paradoxo. A menos, é claro, que o artista gráfico que deseja criar o tema saiba programar em linguagem de baixo nível. O processo não é tão simples quanto deveria ser. Não é como criar uma página de internet utilizando Folhas de Estilo em Cascata.
O segundo fator é a dificuldade de escalonamento do tema. O GTK+ foi inicialmente planejado para criar estruturas visuais totalmente uniformes. Por um lado, isso é ótimo: simplicidade, facilidade de uso e padronização.
Entretanto, a procura extrema por uma interface uniforme trouxe dois pontos, e não um só. O primeiro ponto é a padronização propriamente dita, a facilidade de uso. Uniformizar o sistema, deixando-o igual em todos os cantos torna-o visualmente organizado e faz com que o usuário não sinta estranhamento ao ver algo novo. Mesmo por que nada será diferente o suficiente para isso.
O segundo ponto é o oposto. Criar um sistema todo amarrado em uma roupagem única acaba deixando os desenvolvedores amarrados também. Nem sempre a formatação possível para a exibição de certo conteúdo vai ser a melhor formatação. E não estou querendo dizer que para se resolver isso basta usar skins, ou um tema para cada aplicativo e et cetera.
Não se trata de usar skins, como os programas proprietários adoram fazer. Trata-se de permitir ao software personalizar seus widgets. Sim, existe uma grande diferença entre esses dois casos. Por exemplo, veja neste screenshot uma comparação da barra lateral dos navegadores de arquivos do GNOME 2.25 e do Mac OS X:
Comparação entre a barra lateral do Finder, para Mac OS X e do Nautilus, para GNOME
Embora os dois passem a mesma informação com a exibição dos atalhos, no GNOME a mesma árvore de exibição é apenas mais um elemento igual a tantos outros, como pode ser vista em outros aplicativos exatamente da mesma maneira. Não há destaque nenhum para algo que é importante para a navegação.
E embora não haja nenhum problema grave com isso, é possível perceber que, ao ser posta ao lado da barra do Mac OS X, ela não possui a melhor formatação. Ela simplesmente possui a formatação possível.
É claro que é possível hoje criar com GTK+ algo estilizado como a barra do Mac. Mas é difícil. Difícil porque o GTK+ foi desenvolvido para ser extremamente uniforme na sua roupagem. E a necessidade de utilizar uma exibição flexível que atenda a necessidade de criar interfaces cada vez mais polidas e interessantes parece mostrar qual caminho o GTK+ e o GNOME estão querendo seguir.
Ainda em outubro, quando estava pesquisando algumas informações para a palestra que dei no 5º Fórum GNOME, encontrei um projeto muito interessante que procura tapar parte deste buraco. O gtk-css-engine, desenvolvido pelo Robert Staudinger, é um projeto que tem como objetivo permitir que temas de GTK+ sejam criados utilizando CSS.
Ao invés de manter o conceito atual envolvendo várias engines com definições de estilos e um arquivo gtkrc para pequenos detalhes, o gtk-css-engine é uma alternativa em desenvolvimento que coloca na mão do designer todas definições de estilo e possibilidades. Ou seja, ele tira a necessidade de programar novas engines para cada tema e cria uma engine única para todos os temas.
Isso não resolve tudo, logicamente, mas deixa claro que em breve será muito mais fácil transformar mockups em temas de verdade no GNOME. Além disso, a integração entre CSS e GTK+ parece dar uma breve resposta sobre como tornar possível a personalização dos widgets no futuro.
Fonte:
http://vdepizzol.wordpress.com/2009/01/21/pensamentos-sobre-o-gnome-3-parte-1/