Knowledge to share.

segunda-feira, 11 de agosto de 2008

Qual a GUI certa para todos...?

- A intenção

É aplicar o esforço para aprender algo que posteriormente poderá ser usado numa grande diversidade de sítios ( arquitecturas ).

- As ferramentas

Ultimamente tenho aproveitado, o pouco do tempo que tenho para determinar qual seria a linguagem a apostar, para um novo projecto.
Reduzi então a minha escolha a duas linguagens D e Python, por motivos óbvios para mim.

* Como ponte forte em ambas o código e a facilidade de o manter mais tarde;
* Uma grande comunidade online e os vários projectos já existentes;
* A simplicidade destas, que permite concentrar na estrutura do programa ao invés da estrutura da linguagem.

De lado ficam todas as outras. Simplesmente porque na minha opinião poucas outras linguagens tem um código tão fácil de escrever e ler, nada de "var", "$" e outros símbolos parecidos. As comunidades que as suportam. Os compiladores e as plataformas onde são suportadas. Last but not least, as empresas que criaram, suportam e patrocinam. Espero poder manter este luxo por muito tempo.
De fora ficam também linguagens como o C e o C++, o C principalmente por não ser uma linguagem orientada por objectos e o C++ pelas suas particularidades esquisitas como usar-se ";" em todo o código excepto nos includes e funções e depois temos de usar quando declaramos uma classe. O facto de ter de se manter dois ficheiros um com as declarações e outro com o código, também não ajuda. Basicamente nunca seduziram.

- Vamos aos factos

Widgets (?Livrarias?), para desenvolvimento gráfico GUI nas linguagens:
* D - gtkD;
* Python - pyGTK, pyQT e pyKDE;

Plataformas e as livrarias disponíveis:
* Linux, Window$ e M@c - GTK, QT;
* Maemo - GTK, QT;
* OpenMoko - GTK, Qtopia.

Para as plataformas móveis simplesmente procurei informação para as distribuições oficiais. Existem várias para cada uma delas, suponho que as oficiais tenham mais suporte.

Pode-se então dizer que as duas livrarias gráficas existem em todos os meios, o grande factor de decisão deverá ser a escolha da linguagem de programação.

Nota:
Tenho também de admitir que sou um utilizador de KDE, e por isso a minha opinião sobre qual e' a melhor tem tendência a cair para um determinado lado. Não gosto muito de alguns pormenores no GTK por exemplo em termos de aspecto das aplicações, ou o menu de "save" mas em termos de código e bastante aceitável e deve ter uma curva de aprendizagem não muito acentuada. O que me preocupa em relação ao GNOME 'e o facto de no desktop este cada vez depender mais do Mono, pelo que li ainda 'e possível ter um sistema GNOME sem Mono mas perdem-se algumas funcionalidade, até mesmo no Evolution email. Estes são factores que pesam na escolha do GTK, e o tornam objecto a evitar.

Android = Java. Que azar.

- A minha opinião

O suporte para QT em D e' inexistente. Parece-me então que se quero usar QT a melhor opção e' mesmo o Python. Ou então o C++(Não me parece).

No final e por ter perdido algum tempo a escrever e a buscar factos a sensação inicial de que o GTK, dominava e era o único existente em todas as plataformas, mudou. Porque comecei o 'post'? Por ter tido uma percepção inicial diferente, e publico para que sirva de referencia a outros.

2 comentários:

Galv_BL disse...

Utilizaste algum IDE para o desenvolvimento?

Queria fazer uma GUI para uns scripts - nada do outro mundo - e estou a pensar em usar Python e GTK, mas não me apetece andar a criar os botões todos à mão.
Conheces algum IDE fixe?

Abraço,
BL

Unknown disse...

Podes experimentar o Glade que já cá está à uns aninhos ou um novo GUI builder já escrito em PyGTK o Gazpacho [http://gazpacho.sicem.biz].
Para ser sincero não tenho experiência para recomendar um sobre o outro.

Obrigado pelo primeiro comentário.

Abraços