XML brukergrensesnitt språk
XML User Interface Language ( XUL ) er et XML- basert beskrivelsesspråk for grafiske brukergrensesnitt (GUI). Den ble opprinnelig utviklet for Mozilla- prosjektet, men brukes nå også av annen programvare. I Mozilla- applikasjoner som Firefox , Thunderbird , SeaMonkey eller Netscape genereres hele brukergrensesnittet fra XUL-filer. Den Gecko rendering motoren er brukt, som også brukes til å vise websider .
kjennetegn
XUL tillater separasjon av layout , design og kode for et brukergrensesnitt. Oppsettet og dermed den grove strukturen til brukergrensesnittet (som knapper , inndatafelt og andre kontrollelementer ) er definert i XUL, mens presentasjonen (spesifikke skrifttyper, farger, linjestiler osv.) Er definert med CSS . Ulike temaer (såkalte skins ), også for å simulere utseendet til forskjellige operativsystemer, kan da opprettes relativt enkelt ved å endre CSS-stilene.
Fordi XUL-filer ikke er kompilert, men snarere tolket ved kjøretid, er det også mulig for brukere å redigere og utvide brukergrensesnittet etter eget ønske, noe som i Mozilla-programmer i utgangspunktet også kan gjøres automatisk ved hjelp av installerbare tillegg . Dette var mulig, for eksempel i Firefox-nettleseren opp til versjon 56, siden da har bare utvidelser fungert som bruker det mer moderne, men mer begrensende WebExtensions- formatet.
Opprettelsen av nye grensesnitt i XUL er enklere og mindre tidkrevende enn med mange programmeringsspråk. Ved en port til et bestemt operativsystem - plattform portet må hele Mozilla XUL-verktøysettet på den nye plattformen. Til gjengjeld, etter slik portering, krever ikke XUL-baserte programmer lenger spesielle justeringer, noe som i stor grad forenkler utviklingen av applikasjoner som er uavhengige av operativsystemet.
Ulempen er at prosesserings- og visningshastigheten ofte er tregere enn med native brukergrensesnitt på grunn av den ekstra innsatsen som er involvert i behandlingen av XUL- filene og de nødvendige beregningene av layout og utseende. Siden operativsystemspesifikke kontroller må simuleres ved hjelp av CSS, kan det være forskjeller i utseendet og oppførselen til brukergrensesnittet sammenlignet med native programmer.
Struktur av en XUL-fil
En enkel XUL-fil kan se slik ut:
<?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>
|
XUL-baserte applikasjoner
- ActiveState Komodo IDE ( IDE for JavaScript , Mason , Perl , PHP , Python , Ruby , Ruby on Rails , Tcl , XBL , XML , XPCOM , XSLT og XUL) og Open Komodo Project
- Bluegriffon - etterfølger til Kompozer
- Celtx
- Syklon3
- programvaren på CD-en med Oxford Advanced Learner's Dictionary Companion
- det visuelle programmeringsmiljøet Orchestra (Symphony OS)
- Flock (nettleser)
- Google AdWords-redaktør
- Instantbird - XUL- og libpurple-basert instant messenger
- Joost
- KompoZer - HTML-editor (etterfølger til Nvu)
- Mozilla Application Suite
- Mozilla Firefox
- Mozilla Sunbird
- Mozilla Thunderbird
- nattergal
- Pencil Project - grafisk GUI-utkastsprogram.
- Postboks - E-postklient basert på Mozilla Thunderbird
- Premiere Desktop TV Guide ( elektronisk programguide )
- SeaMonkey
- Sangfugl
- Spicebird
- TomTom Home
- Twibs - innholdsstyringssystem basert på Java og XUL
- XUL Explorer - IDE for å opprette XUL-applikasjoner
- XULPlayer - mediespiller basert på XUL og MPlayer
- Vodafone Widget Packager - utviklingsverktøy for widget
Referanser på Ghostbusters
Forkortelsen XUL har sin opprinnelse i filmen Ghostbusters , der halvgudånden, som har overtatt Dana Barrett, hevder at det ikke er noen Dana, det er bare Zuul. Utviklerne av XUL adopterte denne setningen litt modifisert da Det er ingen data, det er bare XUL. og pekte dermed på den uvanlige egenskapen til XUL som et XML-språk som ikke inneholder data eller dokumenter, men som beskriver et brukergrensesnitt.
Ytterligere referanser til filmen Ghostbusters kan være på XML - namespace - URI http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
read, som ligger i begynnelsen av hver XUL-fil. Hovedmestere og portvoktere refererer også til figurer fra filmen her. Hvis du ringer opp adressen i nettleseren, vises den tidligere nevnte setningen Det er ingen data, det er bare XUL vises.
I Mozilla- programvare er det ikke bare referanser til "Ghostbusters" i XUL. Også Venkman , JavaScript - feilsøkingsprogrammet Prosjektet, oppkalt etter et tegn i Ghostbusters.
Teknikker med lignende konsept
Det er nå andre XML-baserte formater som beskriver et brukergrensesnitt, noe som betyr at den navngitte XUL-egenskapen ikke lenger er så uvanlig i dag (se forrige kapittel):
- AUIML
- eNode
- Med FXML har JavaFX et XML-språk for å beskrive GUI.
- Microsoft følger et lignende konsept med XAML- beskrivelsesspråket . XAML er et grunnleggende konsept i Windows Presentation Foundation og Silverlight og kan også brukes med Windows Runtime .
- NeXTs implementering av MVC- modellen lagret beskrivelsen av GUI i NIB- filer, hvorfra applikasjonen initialiserte grensesnittet ved kjøretid. Imidlertid ble både de grafiske egenskapene og logikken til GUI beskrevet i den. Konseptet ble videreført i Apples macOS og har brukt XML-filer siden XCode 3.0 .
- UIML
- XForms
- ZUL fra ZK OSS
Se også
litteratur
Bøker
- Kenneth C. Feldt: Programmering av Firefox . O'Reilly, 2007, ISBN 0-596-10243-7
- Jonathan Protzenko: XUL. Open Source Press, 2006, ISBN 3-937514-23-6
- Nigel McFarlane: Rask applikasjonsutvikling med Mozilla . 1. utgave. Prentice Hall PTR, 2003, ISBN 978-0-13-142343-5
- David Boswell, Brian King, Ian Oeschger, Pete Collins, Eric Murphy: Lage applikasjoner med Mozilla . 1. utgave. O'Reilly, 2002, ISBN 0-596-00052-9
- Vaughn Bullard, Kevin T. Smith, Michael C. Daconta: Essential XUL Programming. 1. utgave. Wiley, 2001, ISBN 978-0-471-41580-0
gjenstander
- Sebastian Kortemeyer, Frank Thiesing: God beskrivelse: Design webapplikasjon med XUL og SVG. I: c't , 5/2008, s. 202
- Karsten Düsterloh: XUL Opplæring I: Grunnleggende elementer i nettleserutvidelsen . ( Memento av 18. juni 2005 i Internet Archive ) I: iX , 7/2005, s. 124
- Karsten Düsterloh: XUL Tutorial II: Trees and Templates . ( Memento 15. juli 2005 i Internet Archive ) I: iX , 8/2005, s. 148
- Karsten Düsterloh: XUL tutorial III: Mail extension Mistory . ( Memento 4. februar 2006 i Internet Archive ) I: iX , 9/2005, s. 154
- Karsten Violka, Andreas Otte: Monsteret fra XUL. I: c't , 20/2002, s. 232
weblenker
IDE
Mozilla Developer Center
- XUL
- XUL opplæring (opplæring)
- XUL-opplæring (opplæring på tysk)
Andre
Individuelle bevis
- ↑ Overleggsutvidelser. Tilgang 30. august 2019 .
- ↑ Komme i gang med JavaFX: Bruke FXML til å lage et brukergrensesnitt | JavaFX 2 opplæring og dokumentasjon. Hentet 26. januar 2018 .