XUL – Desenvolvendo Aplicações Com Mozilla / Firefox

XUL – Desenvolvendo Aplicações Com Mozilla / Firefox

XUL ± Desenvolvendo Aplicações com Mozilla / Firefox Marcio Junior Vieira [email protected] Marcio Junior Vieira www.ambientelivre.com.br Palestrante - Marcio Junior Vieira ● A 7 Anos trabalha da área de Desenvolvimento e Análise de sistemas. ● Trabalha com Software Livre desde 2000. ● Formado em tecnologia em Informática e Pós-Graduado em Informática (Software Livre) pela UFPR. ● Consultor de Soluções em Software Livre pela Ambiente Livre. ● Consultor em Sistemas de Gestão Empresarial GCI Informática. Marcio● JunioPar Vrieticira ip a n te d o g r u p o X U L Br a sil. www.ambientelivre.com.br Construir aplicações web e desktop. 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 O que é XUL ? ● XUL é a sigla para XML User Interface Language. ● Inicialmente foi criado para tornar o desenvolvimento do navegador Mozilla mais fácil, rápido e portável. ● É uma linguagem de tags baseada na tecnologia XML, e como o XML tem as vantagens de outras linguagens de marcação como XHTML, MathML, SVG,etc. ● É uma linguagem multi-plataforma para desenvolver interfaces gráficas de usuários (GUI ± Graphical User Interface). ● 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 Mozilla Firefox ● WEB Browser. ● + de 100 milhões de downloads. Marcio Junior Vieira www.ambientelivre.com.br 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 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 ªThe New York Timesº 100.000 fãs patrocinam anuncio Marcio Junior Vieira www.ambientelivre.com.br Firefox ± Março 2006 Arquitetura Arquivo XUL. <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="arquivo-exemplo" title="Exemplo de Janela ± File XUL" orient="horizontal" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> ... </window> Marcio Junior Vieira www.ambientelivre.com.br Tecnologias Suportadas ● ● HTML 4.0 e XHTML ● GIF, JPG, PNG, XML Base BMP, ICO ● ● CSS2 a alguns CSS3 XML 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 Description Language) Object Access ● Protocol) ● XPath XBL (eXtensible ● Bindings Language) ● Simple XLinks AJAX Marcio Junior Vieira www.ambientelivre.com.br 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 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 XPFE Ambiente criado pelo XPToolkit. Marcio Junior Vieira www.ambientelivre.com.br 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. ● KDE 4 - Desktop ( Plasma ) utiliza também desta tecnologia. Marcio Junior Vieira www.ambientelivre.com.br 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 Elementos XUL. Marcio Junior Vieira www.ambientelivre.com.br Elementos XUL Marcio Junior Vieira www.ambientelivre.com.br Elementos XUL Marcio Junior Vieira www.ambientelivre.com.br 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 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 XBL- Construir Componentes personalizados <?xml version="1.0"?> <bindings xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.o nly.xul"> <binding id="BotaoCadastro"> <content> <xul:button label="Ok" /> <xul:button label="Cancel" /> <xul:button label="Close" /> </content> </binding> </bindings> Marcio Junior Vieira www.ambientelivre.com.br XUL e JavaScript <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="xuledit" xmlns="http://www.mozilla.org/keymaster/gatekeeper/the re.is.only.xul" title="XUL and JavaScript" onload="init()"> <script type="application/x-javascript"> function msg() { alert('JavaScript Test'); return false; } </script> <button id="open" label="Button with JavaScript" onclick="msg()"/> </window> Marcio Junior Vieira www.ambientelivre.com.br XUL e CSS <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <?xml-stylesheet href="estilo.css" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> </window> Marcio Junior Vieira www.ambientelivre.com.br XUL com PHP <?php header("Content-type: applicatin/vnd.mozilla.xul+xml"); $filename = ""; echo ©<?xml version="1.0"?>©; echo ©<?xml-stylesheet href="chrome://global/skin" type="text/css"?>©; echo ©<?xml-stylesheet href="lagartixa.css" type="text/css"?>©; ?> <window title="XUL and PHP" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only. xul" > ... ... You XUL Code! ... </window> 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 hospedam 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 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 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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    60 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us