25 May 2004
Alternativa 1: PHP-GTK
PHP-GTK é considerado uma extensão à linguagem PHP, cujo objetivo é habilitá-la para a criação de aplicativos gráficos GUI, que rodam no cliente e que são multiplataforma (ou “cross-platform”, para ser um pouco mais específico). Faremos aqui uma análise do pacote, de forma a avaliar sua adequação para a criação de nosso cliente de e-mail.
Obtendo o PHP-GTK
Há várias maneiras de se obter o PHP-GTK e deixá-lo funcionando em sua máquina. No nosso caso específico, queríamos simplicidade no procedimento de instalação dos pacotes, bem como manter a funcionalidade do PHP como interpretador de scripts integrado ao Apache.
Na verdade, um bom lugar para começar a aprender sobre PHP-GTK é no site PHP-GTK Brasil (Gian, valeu pela dica). Lá encontramos o caminho das pedras para deixar o conjunto todo funcionando, porém um caminho que não pôde ser seguido à risca devido à particularidade de precisarmos manter o PHP funcionando como interpretador de scripts.
A receita de bolo é a seguinte:
- baixar o PHP-GTK pré-compilado, que está no arquivo php-4.3.1.tar.gz, para o seu computador, de preferência em /usr/local (ou outro lugar qualquer, contanto que você saiba encontrar o arquivo depois);
- Logar-se como root;
- executar os seguintes comandos:
# cd /usr/local# tar -xzvf php-gtk.tar.gz# mv usr/local/php-gtk/php/bin/php usr/local/php-gtk/php/bin/php-gtk# cp /usr/local/php-gtk/php/bin/php-gtk /usr/bin# cp /usr/local/php-gtk/php/bin/php-gtk /usr/local/bin# exit
Convém observar que nós renomeamos o script php original do pacote para php-gtk, o que se fez necessário devido a querermos manter o PHP original rodando integrado ao Apache, e que copiamos este script para os diretórios /usr/bin e /usr/local/bin para garantir que eles estariam acessíveis em qualquer outro diretório.
A página original que contém este roteiro está ligeiramente diferente de nosso exemplo.
Para testar se deu tudo certo, basta executar
# php-gtk /usr/local/php-gtk/sample/gtk.php
PHP-GTK como plataforma de desenvolvimento
Nossa proposta, relembrando, é o aprendizado de uma nova linguagem de programação que permita desenvolver aplicativos para o Linux. Ora, ninguém aprende algo novo sem utilizar os conhecimentos prévios, no mínimo fazendo analogias.
Temos uma boa experiência com o PHP, embora no desenvolvimento para web. Já somos capazes de utilizar os recursos mais avançados da linguagem, como orientação a objetos, bem como ler um código fonte sem maiores dificuldades. Parece ser, portanto, uma alternativa interessante para se começar.
Ao executar o script de demonstração das capacidades do PHP-GTK, é impossível não se ficar impressionado com a velocidade do programa e a apresentação visual dele. Para ficar ainda mais impressionado, sugiro a execução do programa gtk-demo, que se nada mais era novidade, o gtkHTML me deixou de queixo caidinho.
Portanto, não resta dúvida de que o PHP-GTK é viável para a realização deste projeto (pelo menos por ora).
No próximo “post” faremos um tutorial de “alô, mundo!”, e em seguida começaremos a definir as características de nosso cliente de e-mail, antes mesmo de partir para a codificação.
Textos possivelmente relacionados a este





Sim, XUL seria uma boa, mas ainda acho meio complicado demais para produzir alguma coisa… Nem um “alomundo” fui capaz de fazer.
Além do mais, não sei ainda qual a linguagem de script que XUL usa.
Ou seja, preciso de mais estudo sobre o assunto.
Mas a possibilidade é ótima, realmente!
[Reply]
É mais sano fazer o seguinte:
Trocar as linhas de:
# cp /usr/local/php-gtk/php/bin/php-gtk /usr/bin
# cp /usr/local/php-gtk/php/bin/php-gtk /usr/local/bin
Para:
# ln -s /usr/local/php-gtk/php/bin/php-gtk /usr/bin
# ln -s /usr/local/php-gtk/php/bin/php-gtk /usr/local/bin
Porque não se fica com várias cópias do binário e quando for se fazer alguma atualização somente se altera o binário do /usr/local/php-gtk/php/bin/ e tudo continua funcionando…
[Reply]
E..Alternativa 2: XUL? Seria uma boa, né?
[Reply]
Eh, realmente, PHP-GTK eh uma otima opcao, pois junta a pratica toolkit GTK com a linguagem de script que desenvolve coisas facilmente. Quando surgiu este projeto eu mexi um pouco, mas como haviam alguns bugs, preferi aprender a programar em GTK usando C.
Com PHP podes usar funcoes de socket, como socket, bind, connect, etc., tendo que verificar se o modulo para trabalhar com os mesmos foi carregado (pelo que me lembro o padrao para o pacote eh sem suporte a sockets built-in), bem pratico para o cliente de email.
Gostei muito da ideia de um cliente de email usando PHP-GTK, caso queira ajuda para projetar e posteriormente escreve-lo, pode contar comigo
[Reply]
Opa, apenas complementando:
http://teak.sourceforge.net/
Jah existe algo pronto, existem mais apps usando phpgtk na pagina principal do projeto.
Uma ideia que tive, e como nao uso clientes de email normalmente (uso Yahoo!), eh a de desenvolver plugins para o cliente, podendo entao programar um plugin para baixar emails de um webmail, como o Outlook faz com o webmail da Hotmail.
Eh isso, []s
[Reply]
Instalei o php-gtk como descrito nesta pagina. quando tento executar um exemplo, retorna a mensagem
php-gtk: coult not open display in /usr/local/php-gtk/sample/gtk.php on line 8 - que se refere a linha 8 do script gtk.php tenta ler a biblioteca php-gtk.so
[Reply]
Não é meu objetivo aqui no blog dar suporte ao PHP-GTK, nesse caso o melhor é usar o http://www.php-gtk.org.br.
Mas o seu problema é fácil de detectar: você está tentando executar o PHP-GTK sem estar no X (ambiente gráfico). Experimente entrar no Gnome ou no KDE, ou qualquer outro gerenciador de janelas, e seus exemplos vão rodar melhor que um Dodge Dart lomba abaixo.
Janio
[Reply]