Desenvolvendo aplicações  desktop  com PHP-GTK Por: Maykel dos Santos Braz <maykelsb@yahoo.com.br>
Sobre o autor <ul><li>Bacharel em Engenharia de Computação (2005) </li></ul><ul><ul><li>UEMG – Campus Ituiutaba-MG; </li><...
Roteiro <ul><li>Sobre o autor; </li></ul><ul><li>Introdução; </li></ul><ul><li>Conhecendo o PHP-GTK; </li></ul><ul><li>Gla...
Introdução <ul><li>PHP:  Hypertext Preprocessor   </li></ul><ul><ul><li>Linguagem de  script  modularizada; </li></ul></ul...
Introdução <ul><li>GTK+ ( The  GIMP  ToolKit ) </li></ul><ul><ul><li>Voltado para criação de GUIs; </li></ul></ul><ul><ul>...
Introdução <ul><li>PHP-GTK </li></ul><ul><ul><li>Bind  de GTK+ para PHP; </li></ul></ul><ul><ul><li>Permite utilizar PHP p...
PHP-GTK <ul><li>Instalação </li></ul><ul><ul><li>Linux:  http ://www. php - gtk .com. br / linux </li></ul></ul><ul><ul><l...
PHP-GTK <ul><li>Principais conceitos </li></ul><ul><ul><li>Widgets : Componentes da interface. Podem ser visuais ou não; <...
Widgets <ul><li>Originado de : “Windows Gadgets” ; </li></ul><ul><li>Níveis superiores </li></ul><ul><ul><li>Janelas (GtkW...
Widgets  – Empacotamento <ul><li>Empacotamento </li></ul><ul><ul><li>Limitado pela estrutura do contêiner; </li></ul></ul>...
Exemplo de código: Empacotamento
Widgets  – Posicionamento <ul><li>Posicionamento </li></ul><ul><ul><li>Limitado pelo tamanho da janela; </li></ul></ul><ul...
Exemplo de código: Posicionamento
Sinais <ul><li>Mensagens emitidas pela GUI; </li></ul><ul><li>São tratados por funções/métodos do tipo  callback ; </li></ul>
Exemplo de código: Tratando sinais <ul><li>connect_simple(); </li></ul><ul><ul><li>int connect_simple(string, callback[, m...
Glade – Criador de GUIs <ul><li>Agiliza a criação de GUIs; </li></ul><ul><li>Independente de linguagens de programação; </...
Glade - Interface Biblioteca de  widgets Área de trabalho Hierarquia Propriedades
Exemplo de código: GladeXML
Exemplo de código: Carregando o “.glade” <ul><li>A classe GladeXML; </li></ul><ul><li>get_widget(); </li></ul>
Referências <ul><li>Sites oficiais </li></ul><ul><ul><li>PHP:  Hypertext Preprocessor  –  http :// php .net </li></ul></ul...
Referências <ul><li>Tutorial PHP-GTK2 </li></ul><ul><ul><li>http :// br . geocities .com/ paulotravaglia / </li></ul></ul>...
Contato <ul><li>E-mail </li></ul><ul><ul><li>maykelsb @ yahoo .com. br </li></ul></ul><ul><li>Blog </li></ul><ul><ul><li>h...
Upcoming SlideShare
Loading in …5
×

Php Gtk

1,754 views
1,661 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,754
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
45
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Php Gtk

  1. 1. Desenvolvendo aplicações desktop com PHP-GTK Por: Maykel dos Santos Braz <maykelsb@yahoo.com.br>
  2. 2. Sobre o autor <ul><li>Bacharel em Engenharia de Computação (2005) </li></ul><ul><ul><li>UEMG – Campus Ituiutaba-MG; </li></ul></ul><ul><li>BrScan Tecnologia e Proc. de Dados (2006) </li></ul><ul><li>Zend Certified Engineer – PHP5 (2008) </li></ul><ul><li>Especialista em Des. de Jogos Digitais (2009) </li></ul>
  3. 3. Roteiro <ul><li>Sobre o autor; </li></ul><ul><li>Introdução; </li></ul><ul><li>Conhecendo o PHP-GTK; </li></ul><ul><li>Glade; </li></ul><ul><li>Referências. </li></ul>
  4. 4. Introdução <ul><li>PHP: Hypertext Preprocessor </li></ul><ul><ul><li>Linguagem de script modularizada; </li></ul></ul><ul><ul><li>Voltado para desenvolvimento web; </li></ul></ul><ul><ul><li>Acesso a base de dados; </li></ul></ul><ul><ul><li>Suporte a OO; </li></ul></ul><ul><ul><li>CLI – PHP 4.3/2002; </li></ul></ul><ul><ul><li>Releases </li></ul></ul><ul><ul><ul><li>PHP/FI 2.0 – 1996; </li></ul></ul></ul><ul><ul><ul><li>PHP 3 – 1998; </li></ul></ul></ul><ul><ul><ul><li>PHP 4 – Zend Engine – 2000; </li></ul></ul></ul><ul><ul><ul><li>PHP 5 – Zend Engine 2 – 2004; </li></ul></ul></ul><ul><ul><ul><li>PHP 6 – ???? </li></ul></ul></ul>Fonte : http://en.wikipedia.org/wiki/File:PHPCode_HelloWorld.svg
  5. 5. Introdução <ul><li>GTK+ ( The GIMP ToolKit ) </li></ul><ul><ul><li>Voltado para criação de GUIs; </li></ul></ul><ul><ul><li>Multiplataforma; </li></ul></ul><ul><ul><li>Baseado em Widgets ; </li></ul></ul><ul><ul><li>Bind para diversas linguagens; </li></ul></ul><ul><ul><li>Releases </li></ul></ul><ul><ul><ul><li>GTK+ 1 – 1998; </li></ul></ul></ul><ul><ul><ul><li>GTK+ 2 – GObject – 2002; </li></ul></ul></ul><ul><ul><ul><li>GTK+ 3 – ???? </li></ul></ul></ul>
  6. 6. Introdução <ul><li>PHP-GTK </li></ul><ul><ul><li>Bind de GTK+ para PHP; </li></ul></ul><ul><ul><li>Permite utilizar PHP para criação de aplicações desktop ; </li></ul></ul><ul><ul><li>Integração com Glade/XML; </li></ul></ul><ul><ul><li>Utilização de temas; </li></ul></ul><ul><ul><li>Vantagens do PHP e do GTK+; </li></ul></ul><ul><ul><li>Releases </li></ul></ul><ul><ul><ul><li>PHP-GTK 1 </li></ul></ul></ul><ul><ul><ul><li>PHP-GTK 2 – GTK+ 2.6/2.12 – 2008 </li></ul></ul></ul>
  7. 7. PHP-GTK <ul><li>Instalação </li></ul><ul><ul><li>Linux: http ://www. php - gtk .com. br / linux </li></ul></ul><ul><ul><li>Windows: http ://www. php - gtk .com. br /windows </li></ul></ul><ul><ul><li>MacOs: http ://www. php - gtk .com. br /mac </li></ul></ul><ul><li>Adicione o executável/binário ao PATH; </li></ul>Fonte : Pacote de instalação PHP-GTK Windows <?php $janela  = new  GtkWindow ; $janela -> show_all (); Gtk :: Main (); ?> Fonte : Código de teste – PHP-GTK Brasil
  8. 8. PHP-GTK <ul><li>Principais conceitos </li></ul><ul><ul><li>Widgets : Componentes da interface. Podem ser visuais ou não; </li></ul></ul><ul><ul><li>Sinais: Mensagens emitidas pelos widgets ; </li></ul></ul>
  9. 9. Widgets <ul><li>Originado de : “Windows Gadgets” ; </li></ul><ul><li>Níveis superiores </li></ul><ul><ul><li>Janelas (GtkWindow); </li></ul></ul><ul><ul><li>Caixas de diálogo (GtkDialog, GtkAboutDialog, etc); </li></ul></ul><ul><li>Controles e Exibição </li></ul><ul><ul><li>Botões (GtkButton); </li></ul></ul><ul><ul><li>Caixas de texto (GtkEntry); </li></ul></ul><ul><ul><li>etc... </li></ul></ul><ul><li>Contêineres </li></ul><ul><ul><li>Caixas Horizontais e Verticais (GtkHBox, GtkVBox); </li></ul></ul><ul><ul><li>Tabelas (GtkTable); </li></ul></ul><ul><ul><li>GtkFixed; </li></ul></ul><ul><ul><li>etc... </li></ul></ul>
  10. 10. Widgets – Empacotamento <ul><li>Empacotamento </li></ul><ul><ul><li>Limitado pela estrutura do contêiner; </li></ul></ul><ul><ul><li>Espaçamento e dimensões adaptados à estrutura do contêiner; </li></ul></ul>
  11. 11. Exemplo de código: Empacotamento
  12. 12. Widgets – Posicionamento <ul><li>Posicionamento </li></ul><ul><ul><li>Limitado pelo tamanho da janela; </li></ul></ul><ul><ul><li>Espaçamento e dimensões definidas pelo usuário; </li></ul></ul>
  13. 13. Exemplo de código: Posicionamento
  14. 14. Sinais <ul><li>Mensagens emitidas pela GUI; </li></ul><ul><li>São tratados por funções/métodos do tipo callback ; </li></ul>
  15. 15. Exemplo de código: Tratando sinais <ul><li>connect_simple(); </li></ul><ul><ul><li>int connect_simple(string, callback[, mixed[, ...]]); </li></ul></ul><ul><li>connect(); </li></ul><ul><ul><li>int connect(string, callback[, mixed[, ...]]); </li></ul></ul>
  16. 16. Glade – Criador de GUIs <ul><li>Agiliza a criação de GUIs; </li></ul><ul><li>Independente de linguagens de programação; </li></ul><ul><li>gladeXML. </li></ul>
  17. 17. Glade - Interface Biblioteca de widgets Área de trabalho Hierarquia Propriedades
  18. 18. Exemplo de código: GladeXML
  19. 19. Exemplo de código: Carregando o “.glade” <ul><li>A classe GladeXML; </li></ul><ul><li>get_widget(); </li></ul>
  20. 20. Referências <ul><li>Sites oficiais </li></ul><ul><ul><li>PHP: Hypertext Preprocessor – http :// php .net </li></ul></ul><ul><ul><li>GTK+ – http ://www. gtk . org / </li></ul></ul><ul><ul><li>PHP-GTK – http :// gtk . php .net/ </li></ul></ul><ul><ul><li>PHP-GTK Brasil – http ://www. php - gtk .com. br / </li></ul></ul><ul><ul><li>Glade User Interface Builder - http :// glade . gnome . org / </li></ul></ul><ul><ul><li>Glade/Gtk+ for Windows - http :// sourceforge .net/ projects /gladewin32 </li></ul></ul><ul><li>Livros </li></ul><ul><ul><li>PHP-GTK – Criando Aplicações Gráficas com PHP. Pablo Dall’Oglio. Editora Novatec. 2007 </li></ul></ul><ul><li>Revistas </li></ul><ul><ul><li>PHP Magazine #2 / #3 / #4 / #5 / #6 </li></ul></ul>
  21. 21. Referências <ul><li>Tutorial PHP-GTK2 </li></ul><ul><ul><li>http :// br . geocities .com/ paulotravaglia / </li></ul></ul><ul><li>PHP – Wikipedia </li></ul><ul><ul><li>http ://pt. wikipedia . org / wiki /PHP </li></ul></ul><ul><ul><li>http :// en . wikipedia . org / wiki /PHP </li></ul></ul><ul><li>GTK+ – Wikipedia </li></ul><ul><ul><li>http ://pt. wikipedia . org / wiki /GTK </li></ul></ul><ul><ul><li>http :// en . wikipedia . org / wiki /GTK%2B </li></ul></ul><ul><li>List of widgets toolkits – Wikipedia </li></ul><ul><ul><li>http :// en . wikipedia . org / wiki / List _of_ widget _ toolkits </li></ul></ul><ul><li>Overview of the GNOME Plataform </li></ul><ul><ul><li>http :// developer . gnome . org /doc/ guides / platform - overview / platform - overview . html </li></ul></ul><ul><li>Qt </li></ul><ul><ul><li>http :// en . wikipedia . org / wiki / Qt _( toolkit ) </li></ul></ul><ul><li>Language Binding </li></ul><ul><ul><li>http :// en . wikipedia . org / wiki / Language _ binding </li></ul></ul><ul><li>Callback functions </li></ul><ul><ul><li>http://en.wikipedia.org/wiki/Callback_(computer_science ) </li></ul></ul><ul><li>Manipulação de sinais </li></ul><ul><ul><li>http://www.php-gtk.com.br/index.doc.php?doc=tutorials/tutorials.signals. html </li></ul></ul><ul><li>Glade - Wikipedia </li></ul><ul><ul><li>http://pt.wikipedia.org/wiki/Glade </li></ul></ul>
  22. 22. Contato <ul><li>E-mail </li></ul><ul><ul><li>maykelsb @ yahoo .com. br </li></ul></ul><ul><li>Blog </li></ul><ul><ul><li>http :// seekers - sanctuary . blogspot .com </li></ul></ul><ul><li>LinkedIn </li></ul><ul><ul><li>http ://www. linkedin .com/in/ maykeldossantosbraz </li></ul></ul>

×