XUL – Interfaces Gráficas de 
              Usuários (GUI) com Tecnologia 
                          XML.



            ...
Palestrante ­ Marcio Junior Vieira
       ●     A 6 Anos trabalha da área de Desenvolvimento e 
             Análise de si...
Introdução
         ●     O que é XUL?                                                         ●    Pacotes ( chrome ).
  ...
O que é XUL ?
         ●    XUL é a sigla para XML User Interface Language.
         ●    É uma linguagem baseada na tecno...
Mozilla Firefox
         ●    WEB Browser.
         ●    + de 100 milhões de downloads.




Marcio Junior Vieira          ...
Histórico.
         ●    1997 ­ “Guerra dos browsers” a Netscape, líder de mercado até 
              o que  a  Microsoft ...
Histórico.
         ●    2004  No  Final  do  ano  no  lançamento  do  browser  Mozilla 
              Firefox 1.0 algo de...
“The New York Times” 100.000 fãs patrocinam anuncio




Marcio Junior Vieira                                              ...
Arquivo XUL.
<?xml version=quot;1.0quot;?>
<?xml­stylesheet href=quot;chrome://global/skin/quot; type=quot;text/cssquot;?>...
Tecnologias Suportadas
  ●   HTML 4.0 e XHTML                                               ●   GIF, JPG, PNG,            ...
XPCOM
         ●    São  interfaces  criadas  para  chamar  códigos  nativos  ou 
              aplicativos externos.
    ...
Interfaces
●   Accessibility.                                   ●   DOM.                                                  ...
Organização de pacotes ­ Mozilla (Chrome)

         ●    Conteúdo (content )­ Janelas e 
              scripts.

         ...
Pacotes ( Chrome )
         ●    Os pacotes são compactados como JAR ( Java 
              ARchive).
         ●    A insta...
XPFE

                                      Ambiente criado pelo XPToolkit.




Marcio Junior Vieira                      ...
RDF ­ Resource Description Framework

         ●    São modelos ou fontes de dados ( Metadata )
         ●    tecnologia r...
Atributos dos elementos
                   Atributo                    Tipo                                               ...
Elementos XUL.




Marcio Junior Vieira                                                                                   ...
Elementos XUL




Marcio Junior Vieira                                                                                    ...
Elementos XUL




Marcio Junior Vieira                                                                                    ...
 XULWareHouse.
         ●    Armazém de Componentes XUL.
         ●    Elementos XUL exemplos com os fontes.
         ●   ...
XBL ­ eXtensible Building Language
         ●    Criar elementos ou componentes de interface personalizados e ligar eles 
...
XBL­ Construir Componentes 
                           personalizados
  <?xml version=quot;1.0quot;?>
  <bindings xmlns=qu...
XUL e JavaScript
  <?xml version=quot;1.0quot;?>
  <?xml-stylesheet href=quot;chrome://global/skin/quot;
  type=quot;text/...
XUL e CSS


      <?xml version=quot;1.0quot;?>
      <?xml­stylesheet href=quot;chrome://global/skin/quot; type=quot;text...
XUL e Outras Linguagem
         ●    C/C++ ­ Através do XPCOM podemos  trabalhar com 
              bibliotecas compartilh...
Ferramentas para XUL
         ●    DOM Inspector.
                  O DOM Inspector  é uma ferramenta utilizada para  insp...
Marcio Junior Vieira                                                                                                     w...
Marcio Junior Vieira                                                                                                     w...
Google




Marcio Junior Vieira                                                                                           ...
Marcio Junior Vieira                                                                                                     w...
Marcio Junior Vieira                                                                                                     w...
Lagartixa




Marcio Junior Vieira                                                                                        ...
Curiosidades e projetos 
                                     relacionados!
         ●    Jxul ­ é um projeto open source ...
XULRunner
         ●    Pacote runtime para aplicações de XUL+XPCOM.
               É o futuro do Firefox e das aplicações...
Mozdev.org
         ●    Mais de 200 projetos relacionados ao Mozilla e tecnologia 
              XUL.

              dmoz...
nexaweb




Marcio Junior Vieira                                                                                          ...
nexaweb



                                                                             ­




Marcio Junior Vieira        ...
nexaweb




Marcio Junior Vieira                                                                                          ...
Participe!  Grupo XUL Brasil
                                            ●     http://xul.mozilla.org.br
 ●     Exemplos  ...
Livros sobre XUL




Marcio Junior Vieira                                                                                 ...
Links e referências
        ●    Creating Applications with Mozilla.
             http://books.mozdev.org/html/
        ● ...
Perguntas?




  A tarefa da equipe de desenvolvimento de software é projetar a ilusão de simplicidade.
Marcio Junior Viei...
Upcoming SlideShare
Loading in …5
×

XUL – Interfaces Gráficas de Usuários (GUI) com Tecnologia XML.

1,803 views
1,639 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,803
On SlideShare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
34
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

XUL – Interfaces Gráficas de Usuários (GUI) com Tecnologia XML.

  1. 1.  XUL – Interfaces Gráficas de  Usuários (GUI) com Tecnologia  XML. Marcio Junior Vieira  marcio@ambientelivre.com.br Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  2. 2. Palestrante ­ Marcio Junior Vieira ● A 6 Anos trabalha da área de Desenvolvimento e  Análise de sistemas. ● A 5 anos trabalha com Software Livre. ● Formado em tecnologia em Informática e Pós  Graduado em Software Livre pela UFPR. ● Consultor de Soluções em Software Livre pela  Ambiente Livre. ● Consultor em Sistemas de Gestão Empresarial. ● Participante do grupo XUL Brasil. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  3. 3. Introdução ● O que é XUL? ● Pacotes ( chrome ). ● Histórico. ● RDF ● Firefox. ● XULRunner. ● Arquivo XUL. ● Elementos XUL. ● Suporte XUL. ● XBL. ● XPCOM. ● Ferramentas XUL. ● Exemplos de aplicações. ● Livros. ● Curiosidades ● Links Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  4. 4. O que é XUL ? ● XUL é a sigla para XML User Interface Language. ● É uma linguagem baseada na tecnologia XML. ● É uma linguagem multi­plataforma para desenvolver interfaces  gráficas de usuários (GUI – Graphical User Interface). ● Utiliza da tecnologia XML como sua base, e como o XML tem   as vantagens de outras linguagens de marcação como XHTML,  MathML, SVG,etc. ● Atualmente apenas os browsers da família Mozilla, Netscape e  outros baseados neles,  tem suporte a tecnologia XUL. ● O nome XUL é uma referência ao filme Caça­Fantasmas. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  5. 5. Mozilla Firefox ● WEB Browser. ● + de 100 milhões de downloads. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  6. 6. Histórico. ● 1997 ­ “Guerra dos browsers” a Netscape, líder de mercado até  o que  a  Microsoft  começou  a  liberar  gratuitamente  juntamente  seu SO o seu produto  o IE. ● 1998 ­ Por Influência do Livro “The Cathedral and the Bazaar”   de  Eric  Raymond,  diretores    da  Netscape  decidiram  liberar  todos os fontes do seu browser. ● 1998 ­ É formando o projeto Mozilla. ● 2003 ­  Criada a Mozilla Foundation, com sustentação inicial da  América  Netscape,  para  sustentação  organizacional,  legal,  e  financeira para o projeto do software Open Source Mozilla. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  7. 7. Histórico. ● 2004  No  Final  do  ano  no  lançamento  do  browser  Mozilla  Firefox 1.0 algo de surpreendente começava a acontecer, apenas  nos primeiros dias de liberação foram feitos mais de 2 milhões  de downloads do browser. ● 2005 – O Browser Firefox é reportagem em inúmeros meios de  comunicações. ● 2005  –  NetApplications  ,  empresa  que  atua  no  monitoramento  de trafego de internet apontava crescimentos do uso do Firefox  próximos a 1% ao mês , que chegou em maio de 2005 com uma  fatia de mais de 8% do mercado dos browser que somados aos  browser Netscape e Mozilla ultrapassavam 10% do mercado. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  8. 8. “The New York Times” 100.000 fãs patrocinam anuncio Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  9. 9. Arquivo XUL. <?xml version=quot;1.0quot;?> <?xml­stylesheet href=quot;chrome://global/skin/quot; type=quot;text/cssquot;?> <window    id=quot;arquivo­exemploquot;    title=quot;Exemplo de Janela – File XULquot;    orient=quot;horizontalquot;   xmlns=quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xulquot;> ...  </window> Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  10. 10. Tecnologias Suportadas ●   HTML 4.0 e XHTML  ● GIF, JPG, PNG,  ● XML Base  BMP, ICO  XML ●  CSS2 a alguns  CSS3  ● images  ●  DOM2 e alguns DOM3  ● XPointer   ● HTTP 1.1  ●  ECMAScript/Javascript ● FIXPtr  ● MathML  ●  Object Access Protocol)  ● XML­RPC  ● RDF  WSDL (Web Services  ● ● SOAP (Simple  ● XSLT  Object Access  Description Language)  ● XPath  Protocol)  ●  XBL (eXtensible  Bindings Language)  ● Simple XLinks Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  11. 11. XPCOM ● São  interfaces  criadas  para  chamar  códigos  nativos  ou  aplicativos externos. ● Atualmente existem  diversas  interfaces,  e  a tecnologia permite  que muitas outras interfaces sejam construídas. ● XPConnect ­ Camada que traduz obj. de script para obj. nativos. ● Suportado  por  todas  as  plataforma  que  hospedagem  um  bom  compilador C++: (Linux,Windows,HP­UX,Solaris,BSD,etc)  ● Exemplo:  NslSound  –  Interface  Utilizada  para  tocar  arquivos  de aúdio, que pode ser chamada em uma aplicação XUL. ● O XPCOM não é uma particularidade do Mozilla ele é utilizado  por outros diversos aplicativos. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  12. 12. Interfaces ● Accessibility. ● DOM. ● XML. ● Address Book. ● DOM Inspector. ● XML Schema. ● Browser Components. ● Docshell and Content Viewers. ● Localization. ● Clipboard and Selection. ● Editor. ● News. ● Content and Layout. ● Files and Streams. ● Plugins. ● Cookies. ● Graphics and Widgets. ● RDF. IPC. ● Core. ● Security and Privacy. ● Images. ● XPInstall. ● Web Browser. ● JavaScript. ● XUL. ● Web Services. ● JavaScript. Debbuger ● LDAP. ● Window Management. ● Mail. ● Network. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  13. 13. Organização de pacotes ­ Mozilla (Chrome) ● Conteúdo (content )­ Janelas e  scripts. ● Skin ­ Folhas de estilo e  imagens. ● Localidade  ( Locale ) Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  14. 14. Pacotes ( Chrome ) ● Os pacotes são compactados como JAR ( Java  ARchive). ● A instalação pode ser feita através de arquivos  XPI ( XPInstall). ● Os pacotes instalados são descritos nos  arquivos chrome.rdf e installed­chrome.txt Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  15. 15. XPFE Ambiente criado pelo XPToolkit. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  16. 16. RDF ­ Resource Description Framework ● São modelos ou fontes de dados ( Metadata ) ● tecnologia recomendada pela W3C. ● Criar  um  modelo  simples  de  dados,  com  uma  semântica  formal  e  usar  o  vocabulário  URI­based,  usar  uma  sintaxe  XML­based e suportar o uso de XML. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  17. 17. Atributos dos elementos Atributo Tipo Descrição Height Integer Altura da Janela. Hidechrome Booleano Registra o chrome para poder ter ele  incluído no titlebar hidden. Id Element id Identificador da Janela. ScreenX Integer Posição vertical que o janela aparece na tela. ScreenY Integer Posição vertical que o janela aparece na tela. Maximized– Maximiza a janela, Ocupando a tela completa. Sizemode Minimized- A Janela e Minimizada , ou escondida. Pré­definido Normal- A janela aparece em um estado normal. Title Alfa­Numérico Texto da Barra de título da janela. Width Integer Largura da Janela. Windowtype Alfa­Numérico Ajuste uma string que possa ser usada identificar o tipo de janela. Propriedades e Métodos Tipo Descrição AccessKey Caracter Ajusta o valor do atributo accesskey. Accessible nslaccessible Retorna o objeto da acessibilidade para o elemento. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  18. 18. Elementos XUL. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  19. 19. Elementos XUL Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  20. 20. Elementos XUL Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  21. 21.  XULWareHouse. ● Armazém de Componentes XUL. ● Elementos XUL exemplos com os fontes. ● XBL / RDF. ● http://www.ambientelivre.com.br/xulwarehouse/ Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  22. 22. XBL ­ eXtensible Building Language ● Criar elementos ou componentes de interface personalizados e ligar eles  a outros elementos XUL, XML ou HTML.  ● Sua utilização é muito prática fácil e flexível, é necessário apenas uma  sintaxe especifica para criação de componentes com o XBL ● Geralmente  os  componentes  XML  são  alocados  em  arquivos  com  extensão  .xml  e  chamados  pelos  arquivos  .xul  ou  .css  através  do  comando  ­moz­binding  :  url  (  “link  para  arquivo  xml”  #  “componente XML”) . Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  23. 23. XBL­ Construir Componentes  personalizados <?xml version=quot;1.0quot;?> <bindings xmlns=quot;http://www.mozilla.org/xblquot; xmlns:xul=quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.o nly.xulquot;> <binding id=quot;BotaoCadastroquot;> <content > <xul:b utton la bel=quot;Ok quot; /> <xul:b utton la bel=quot;Ca ncelquot; /> <xul:b utton la bel=quot;Cl osequot; /> </conten t> </binding> </bindings> Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  24. 24. XUL e JavaScript <?xml version=quot;1.0quot;?> <?xml-stylesheet href=quot;chrome://global/skin/quot; type=quot;text/cssquot;?> <window id=quot;xuleditquot; xmlns=quot;http://www.mozilla.org/keymaster/gatekeeper/the re.is.only.xulquot; title=quot;XUL and JavaScriptquot; onload=quot;init()quot;> <script type=quot;application/x-javascriptquot;> function msg() { alert('JavaScript Test'); return false; } </script> <button id=quot;openquot; label=quot;Button with JavaScriptquot; onclick=quot;msg()quot;/> </window> Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  25. 25. XUL e CSS <?xml version=quot;1.0quot;?> <?xml­stylesheet href=quot;chrome://global/skin/quot; type=quot;text/cssquot;?> <?xml­stylesheet href=quot;estilo.cssquot; type=quot;text/cssquot;?> <window     xmlns=quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xulquot;> </window> Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  26. 26. XUL e Outras Linguagem ● C/C++ ­ Através do XPCOM podemos  trabalhar com  bibliotecas compartilhadas desenvolvidas em C/C++ , como os   DLL no windows ou os arquivos .so das variações de  Linux/Unix. ● PHP – Interage com XUL da mesma forma que o PHP interage  com o HTML. ● Python ­ Atualmente existe uma implementação de XPCOM  chamada PyXPCOM, que interagem com XUL. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  27. 27. Ferramentas para XUL ● DOM Inspector. O DOM Inspector  é uma ferramenta utilizada para  inspecionar e editar DOM  em tempo de execução na  web ou em uma  aplicação XUL ●  Venkman JavaScript Debugger. debugger de Javascript para browsers baseados Mozilla, fornecendo um ambiente  poderoso de eliminar erros de Javascript. ●  Cview ­ XPCOM Component Viewer. A ferramenta  Cview é um componente visualizador de XPCOM, permite que  você possa navegar através dos componentes XPCOM incluídos em seu browser  baseado no Mozilla, facilitando a consulta de componentes. ●  Mozilla Translator O Mozilla Translator é um aplicativo especializado em editar arquivos DTD  para internacionalização ( I18N ) e localização ( L10N ) do Mozilla ou aplicativos  integrados. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  28. 28. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  29. 29. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  30. 30. Google Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  31. 31. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  32. 32. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  33. 33. Lagartixa Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  34. 34. Curiosidades e projetos  relacionados! ● Jxul ­ é um projeto open source para integrar a linguagem  XUL a plataforma  Java. ● XRE  ( Runtime Environment ). ● XUL Versus Avalon XAML. ● Luxor ­ aplicações Java baseada em XUL para rodar em servidores. ● PerlXUL – Módulo para definição de GUI usando XUL. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  35. 35. XULRunner ● Pacote runtime para aplicações de XUL+XPCOM.  É o futuro do Firefox e das aplicações  XUL. ● Conterá todas a API necessárias atual para execução de  uma aplicação. ● Manipulação de XML,RDF,gerência das extensões. ● Integração com Python, Perl ou ruby além a  C++ e  Javascript através do XPCOM. ● Desenvolver uma aplicação que usa  XulRunner como a plataforma será  simples (não existirá  necessidade  de compilação) Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  36. 36. Mozdev.org ● Mais de 200 projetos relacionados ao Mozilla e tecnologia  XUL. dmoz.org ● Applications Based on Mozilla Source@  (22) ● Firefox Extensions@  (54) sourceforge.net ● Games  (4)                                              + de 90 projetos relacionados a XUL ● Mozilla Extensions@  (97)                          ● Sidebar Panels  (4) Mozilla Update ● Tools  (2)                                                       + de 900 Extensions Firefox/Mozilla Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  37. 37. nexaweb Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  38. 38. nexaweb ­ Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  39. 39. nexaweb Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  40. 40. Participe!  Grupo XUL Brasil ● http://xul.mozilla.org.br ● Exemplos  ­ Tutoriais  ­ Referências ­ Links ●  http://listas.mozilla.org.br/listinfo/xul­mozilla ● Fórum do Algorítimo:  http://www.algoritmoforum.com.br/forums/list.page ● Rau­Tu Mozilla BR/XUL http://www.rau­ tu.unicamp.br/mozilla/ Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  41. 41. Livros sobre XUL Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  42. 42. Links e referências ● Creating Applications with Mozilla. http://books.mozdev.org/html/ ● Essencial XUL Programming. http://www.xulbook.com ● XulPlanet. http://www.xulplanet.com ● Xul:Brasil. http://xul.mozilla.org.br ● Mozilla. http://www.mozilla.org/projects/xul/ ● XULWareHouse. http://www.ambientelivre.com.br/xulwarehouse/ ● E­mail para contato:  marcio@ambientelivre.com.br Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br
  43. 43. Perguntas? A tarefa da equipe de desenvolvimento de software é projetar a ilusão de simplicidade. Marcio Junior Vieira                                                                                                     www.ambientelivre.com.br

×