Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Php Gtk

1,890 views

Published on

  • Be the first to comment

  • Be the first to like this

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>

×