22
Desenvolvendo aplicações desktop com PHP-GTK Por: Maykel dos Santos Braz <[email protected]>

Php Gtk

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Php Gtk

Desenvolvendo aplicações desktop com PHP-GTK

Por: Maykel dos Santos Braz

<[email protected]>

Page 2: Php Gtk

Sobre o autor

Bacharel em Engenharia de Computação (2005)– UEMG – Campus Ituiutaba-MG;

BrScan Tecnologia e Proc. de Dados (2006) Zend Certified Engineer – PHP5 (2008) Especialista em Des. de Jogos Digitais (2009)

Page 3: Php Gtk

Roteiro

Sobre o autor; Introdução; Conhecendo o PHP-GTK; Glade; Referências.

Page 4: Php Gtk

Introdução

PHP: Hypertext Preprocessor – Linguagem de script modularizada;– Voltado para desenvolvimento web;– Acesso a base de dados;– Suporte a OO;– CLI – PHP 4.3/2002;– Releases

• PHP/FI 2.0 – 1996;• PHP 3 – 1998;• PHP 4 – Zend Engine – 2000;• PHP 5 – Zend Engine 2 – 2004;• PHP 6 – ????

Fonte: http://en.wikipedia.org/wiki/File:PHPCode_HelloWorld.svg

Page 5: Php Gtk

Introdução

GTK+ (The GIMP ToolKit)– Voltado para criação de GUIs;– Multiplataforma;– Baseado em Widgets;– Bind para diversas linguagens;– Releases

• GTK+ 1 – 1998;• GTK+ 2 – GObject – 2002;• GTK+ 3 – ????

Page 6: Php Gtk

Introdução

PHP-GTK– Bind de GTK+ para PHP;– Permite utilizar PHP para criação de aplicações

desktop;– Integração com Glade/XML;– Utilização de temas;– Vantagens do PHP e do GTK+;– Releases

• PHP-GTK 1• PHP-GTK 2 – GTK+ 2.6/2.12 – 2008

Page 7: Php Gtk

PHP-GTK Instalação

– Linux: http://www.php-gtk.com.br/linux– Windows: http://www.php-gtk.com.br/windows– MacOs: http://www.php-gtk.com.br/mac

Adicione o executável/binário ao PATH;

Fonte: Pacote de instalação PHP-GTK Windows

<?php<?php$janela $janela = new = new GtkWindowGtkWindow;;$janela$janela->->show_allshow_all();();GtkGtk::::MainMain();();?>?>

Fonte: Código de teste – PHP-GTK Brasil

Page 8: Php Gtk

PHP-GTK

Principais conceitos– Widgets: Componentes da interface. Podem ser

visuais ou não;– Sinais: Mensagens emitidas pelos widgets;

Page 9: Php Gtk

Widgets Originado de: “Windows Gadgets”; Níveis superiores

– Janelas (GtkWindow);– Caixas de diálogo (GtkDialog, GtkAboutDialog, etc);

Controles e Exibição– Botões (GtkButton);– Caixas de texto (GtkEntry);– etc...

Contêineres– Caixas Horizontais e Verticais (GtkHBox, GtkVBox);– Tabelas (GtkTable);– GtkFixed;– etc...

Page 10: Php Gtk

Widgets – Empacotamento

Empacotamento– Limitado pela estrutura do contêiner;

– Espaçamento e dimensões adaptados à estrutura do contêiner;

Page 11: Php Gtk

Exemplo de código: Empacotamento

Page 12: Php Gtk

Widgets – Posicionamento

Posicionamento– Limitado pelo tamanho da janela;

– Espaçamento e dimensões definidas pelo usuário;

Page 13: Php Gtk

Exemplo de código: Posicionamento

Page 14: Php Gtk

Sinais

Mensagens emitidas pela GUI;

São tratados por funções/métodos do tipo callback;

Page 15: Php Gtk

Exemplo de código: Tratando sinais

connect_simple();– int connect_simple(string, callback[, mixed[, ...]]);

connect();– int connect(string, callback[, mixed[, ...]]);

Page 16: Php Gtk

Glade – Criador de GUIs

Agiliza a criação de GUIs; Independente de linguagens de programação; gladeXML.

Page 17: Php Gtk

Glade - InterfaceB

ibli

otec

a de

B

ibli

otec

a de

widgets

widgets

Área de trabalhoÁrea de trabalho

Hierarquia

Hierarquia

Propriedades

Propriedades

Page 18: Php Gtk

Exemplo de código: GladeXML

Page 19: Php Gtk

Exemplo de código: Carregando o “.glade”

A classe GladeXML; get_widget();

Page 20: Php Gtk

Referências Sites oficiais

– PHP: Hypertext Preprocessor – http://php.net– GTK+ – http://www.gtk.org/– PHP-GTK – http://gtk.php.net/– PHP-GTK Brasil – http://www.php-gtk.com.br/– Glade User Interface Builder - http://glade.gnome.org/– Glade/Gtk+ for Windows - http://sourceforge.net/projects/gladewin32

Livros– PHP-GTK – Criando Aplicações Gráficas com PHP. Pablo

Dall’Oglio. Editora Novatec. 2007 Revistas

– PHP Magazine #2 / #3 / #4 / #5 / #6

Page 21: Php Gtk

Referências Tutorial PHP-GTK2

– http://br.geocities.com/paulotravaglia/

PHP – Wikipedia– http://pt.wikipedia.org/wiki/PHP– http://en.wikipedia.org/wiki/PHP

GTK+ – Wikipedia– http://pt.wikipedia.org/wiki/GTK– http://en.wikipedia.org/wiki/GTK%2B

List of widgets toolkits – Wikipedia– http://en.wikipedia.org/wiki/List_of_widget_toolkits

Overview of the GNOME Plataform– http://developer.gnome.org/doc/guides/platform-overview/platform-overview.html

Qt– http://en.wikipedia.org/wiki/Qt_(toolkit)

Language Binding– http://en.wikipedia.org/wiki/Language_binding

Callback functions– http://en.wikipedia.org/wiki/Callback_(computer_science)

Manipulação de sinais– http://www.php-gtk.com.br/index.doc.php?doc=tutorials/tutorials.signals.html

Glade - Wikipedia– http://pt.wikipedia.org/wiki/Glade