Linguagem de interface do usuário XML
XUL ( XUL ) é uma linguagem de descrição baseada em XML para interfaces gráficas de usuário (GUIs). Ele foi originalmente desenvolvido para o projeto Mozilla , mas também foi usado por outro software. Em aplicativos Mozilla como Firefox , Thunderbird , SeaMonkey ou Netscape , a interface do usuário é ou foi gerada com a ajuda do XUL, usando o motor de renderização Gecko , que também é usado para exibir sites .
XUL agora é considerado obsoleto. As extensões baseadas em XUL não podem mais ser instaladas no navegador Firefox desde o final de 2017. Em 2019, os desenvolvedores do Mozilla começaram a substituir amplamente os elementos XUL da interface do usuário por elementos HTML comuns , como aqueles usados por sites.
propriedades
XUL permite a separação de layout , design e código de uma interface de usuário. O layout e, portanto, a estrutura aproximada da interface do usuário (como botões , campos de entrada e outros elementos de controle ) é definida em XUL, enquanto a apresentação (fontes específicas, cores, estilos de linha, etc.) é definida com CSS . Diferentes temas ( skins ), também para simular a aparência de diferentes sistemas operacionais, podem ser criados com relativa facilidade, alterando os estilos CSS.
Como os arquivos XUL não são compilados, mas sim interpretados em tempo de execução, os usuários também podem editar e expandir a interface do usuário de acordo com seus próprios desejos, o que, em princípio, também pode ser feito automaticamente nos programas Mozilla usando complementos instaláveis . Isso era possível, por exemplo, no navegador Firefox até a versão 56, desde então só funcionam as extensões que utilizam o formato WebExtensions , mais moderno, porém mais restritivo .
A criação de novas interfaces em XUL é mais fácil e menos demorada do que em muitas linguagens de programação. Em uma porta para um determinado sistema operacional - plataforma portada deve todo o kit de ferramentas Mozilla XUL na nova plataforma. Em troca, após tal portabilidade, os programas baseados em XUL não requerem mais quaisquer adaptações especiais, o que simplifica muito o desenvolvimento de aplicativos que são independentes do sistema operacional.
A desvantagem é que o processamento e a velocidade de exibição costumam ser mais lentos do que nas interfaces de usuário nativas, devido ao esforço adicional envolvido no processamento dos arquivos XUL e nos cálculos necessários do layout e da aparência. Como os controles específicos do sistema operacional devem ser reproduzidos usando CSS, pode haver diferenças na aparência e no comportamento da interface do usuário em comparação com os programas nativos.
Estrutura de um arquivo XUL
Um arquivo XUL simples pode ter a seguinte aparência:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="sample-window"
title="Beispiel"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox>
<checkbox label="CheckBox"/>
<hbox>
<spacer flex="1"/>
<button label="OK"/>
<button label="Abbrechen"/>
</hbox>
</vbox>
</window>
|
Aplicativos baseados em XUL
- IDE ActiveState Komodo ( IDE para JavaScript , Mason , Perl , PHP , Python , Ruby , Ruby on Rails , Tcl , XBL , XML , XPCOM , XSLT e XUL) e Open Komodo Project
- Bluegriffon - sucessor de Kompozer
- Celtx
- Cyclone3
- o software do Oxford Advanced Learner's Dictionary Companion CD
- o ambiente de programação visual Orchestra (Symphony OS)
- Flock (navegador)
- Google AdWords Editor
- Instantbird - mensageiro instantâneo baseado em XUL e libpurple
- Joost
- KompoZer - editor HTML (sucessor do Nvu)
- Mozilla Application Suite
- Mozilla Firefox
- Mozilla Sunbird
- Mozilla Thunderbird
- Rouxinol
- Projeto Pencil - programa de desenho gráfico de GUI.
- Postbox - cliente de e-mail baseado em Mozilla Thunderbird
- Premiere Desktop TV Guide ( guia de programação eletrônico )
- SeaMonkey
- Pássaro canoro
- Spicebird
- TomTom Home
- Twibs - sistema de gerenciamento de conteúdo baseado em Java e XUL
- XUL Explorer - IDE para criar aplicativos XUL
- XULPlayer - reprodutor de mídia baseado em XUL e MPlayer
- Vodafone Widget Packager - ferramenta de desenvolvimento de widget
Referências sobre Ghostbusters
A sigla XUL tem sua origem no filme Ghostbusters , no qual o espírito semideus Zuul, que se apoderou de Dana Barrett, afirma: Não existe Dana, existe apenas Zuul. Os desenvolvedores do XUL adotaram esta frase ligeiramente modificada, pois não há dados, há apenas XUL. e, portanto, apontou para a (naquele momento) propriedade incomum de XUL como uma linguagem XML de não conter dados ou documentos, mas descrever uma interface de usuário.
Outras referências ao filme Ghostbusters podem ser encontradas no XML - namespace - URI http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
read, que está localizado no início de cada arquivo XUL. Keymasters e gatekeepers também se referem aos personagens do filme aqui. Se você chamar o endereço no navegador da web, a frase mencionada anteriormente Não há dados, há apenas XUL aparece.
No software Mozilla não existem apenas referências a "Ghostbusters" no XUL. Também Venkman , o JavaScript - depurador O projeto, que leva o nome de um personagem em Ghostbusters.
Técnicas com um conceito semelhante
Nesse ínterim, também existem outros formatos baseados em XML que descrevem uma interface de usuário, o que significa que a propriedade XUL nomeada não é mais tão incomum hoje (consulte o capítulo anterior):
- AUIML
- eNode
- Com FXML, JavaFX tem uma linguagem XML para descrever a GUI.
- A Microsoft está seguindo um conceito semelhante com sua linguagem de descrição XAML . XAML é um conceito fundamental no Windows Presentation Foundation e Silverlight e também pode ser usado com o Windows Runtime .
- A implementação do modelo MVC da NeXT salvou a descrição da GUI em arquivos NIB , a partir dos quais o aplicativo inicializou a interface em tempo de execução. No entanto, tanto as propriedades gráficas quanto a lógica da GUI foram descritas nele. O conceito continuou no macOS da Apple e usa arquivos XML desde o XCode 3.0 .
- UIML
- XForms
- ZUL do ZK OSS
Veja também
literatura
Livros
- Kenneth C. Feldt: Programando o Firefox . O'Reilly, 2007, ISBN 0-596-10243-7
- Jonathan Protzenko: XUL. Open Source Press, 2006, ISBN 3-937514-23-6
- Nigel McFarlane: Desenvolvimento rápido de aplicativos com Mozilla . 1ª edição. Prentice Hall PTR, 2003, ISBN 978-0-13-142343-5
- David Boswell, Brian King, Ian Oeschger, Pete Collins, Eric Murphy: Criando aplicativos com Mozilla . 1ª edição. O'Reilly, 2002, ISBN 0-596-00052-9
- Vaughn Bullard, Kevin T. Smith, Michael C. Daconta: Essential XUL Programming. 1ª edição. Wiley, 2001, ISBN 978-0-471-41580-0
Itens
- Sebastian Kortemeyer, Frank Thiesing: Boa descrição: Projete aplicativos da web com XUL e SVG. In: c't , 5/2008, p. 202
- Karsten Düsterloh: XUL Tutorial I: Elementos básicos da extensão do navegador . ( Memento de 18 de junho de 2005 no Internet Archive ) In: IX , 7/2005, p. 124
- Karsten Düsterloh: Tutorial II do XUL: Árvores e modelos . ( Memento de 15 de julho de 2005 no Internet Archive ) In: IX , 8/2005, p. 148
- Karsten Düsterloh: XUL Tutorial III: Mail Extension Mistory . ( Memento de 4 de fevereiro de 2006 no Internet Archive ) In: IX , 9/2005, p. 154
- Karsten Violka, Andreas Otte: O monstro de XUL. In: c't , 20/2002, p. 232
Links da web
Evidência individual
- ↑ XUL - Arquivo de conteúdos obsoletos | MDN. 22 de outubro de 2019, acessado em 22 de agosto de 2021 .
- ↑ O que são WebExtensions? - Mozilla | MDN. Retirado em 22 de agosto de 2021 (inglês americano).
- ↑ 1563415 - (de-xul-elements) [meta] Comece a usar elementos HTML para substituir elementos XUL. Acessado em 22 de agosto de 2021 .
- ↑ Extensões de sobreposição. Acessado em 30 de agosto de 2019 .
- ↑ Introdução ao JavaFX: Usando FXML para criar uma interface de usuário | Tutoriais e documentação do JavaFX 2. Recuperado em 26 de janeiro de 2018 .