25 May 2004

Alternativa 1: PHP-GTK

Arquivado em: Uncategorized

Compare Preços no JáCotei:

Impressora HP LaserJet P2015
Impressora HP LaserJet P2015



Suporte Multivisão para TV e Vídeo de 14" ...
Suporte Multivisão para TV e Vídeo de 14" ...




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:

  1. 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);
  2. Logar-se como root;
  3. 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





7 Respostas para “Alternativa 1: PHP-GTK”

  1. Janio on 26 May 2004 at 1:07 am

    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]

  2. Gian on 26 May 2004 at 10:34 am

    É 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]

  3. Maxwel Leite on 26 May 2004 at 12:52 pm

    E..Alternativa 2: XUL? Seria uma boa, né? ;)

    [Reply]

  4. Adriano Bonat on 31 May 2004 at 2:30 am

    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 :D

    [Reply]

  5. Adriano Bonat on 01 Jun 2004 at 9:15 am

    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]

  6. Neuso on 28 Jun 2004 at 10:25 am

    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]

  7. Janio on 28 Jun 2004 at 10:38 am

    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]

Trackback URI | Comments RSS

Deixe uma resposta