≡
Ø
«
»
0 : User Interface Description Languages: XUL
1 : What is XUL
2 : Applications and Extensions
3 : Editing / Protoyping
4 : Designer / Developer Process
5 : Build a Sample
6 : Resources
User Interface Description Languages: XUL
Mark Finkle
Mozilla Corporation
What is XUL
Powerful widget-based markup language
XUL is an HTML-like markup language designed for rich applications
Includes a set of cross platform widgets
Based on existing standards
Cascading Style Sheets (CSS)
Document Object Model (DOM)
JavaScript, including E4X (ECMAScript for XML)
XML, SVG, MathML
Platform portability
XUL user interfaces can run on Windows, Mac and Linux
Easy localization
Locale specific resources are easily separated from presentation and code
Automatically chooses appropriate locale at startup
Applications and Extensions
Core toolkit support
Standard and custom UI widgets
Templated UI generation
Script and binary components
Supports native accessibility technologies
Completely cross platform
Application support
Lightweight, version controlled runtime
Widgets support native OS look and feel
Extensibility through a common add-on mechanism
Builtin upgrade mechanism
Extension support
Overlay UI and code into host application
Builtin installation and upgrade mechanism
Editing / Protoyping
Text-based files - working with XUL feels very much like HTML
Use XUL to create an interface
Use CSS to define appearance
Use JavaScript for behavior
Use locale files for localizable strings
*
Quickly preview modifications
Displays in Firefox (or any Mozilla based browser)
Not compiled so viewing changes is as simple as refresh/restart
Designer / Developer Process
Designers and Developers can both participate in the UI design process
Designers can start the UI prototype or modify an existing UI
Developers can manage the semantic code points in the markup
UI can be prototyped and even support interactivity before any real code is written
Layers of UI are separate
Designers can edit the style without effecting the structure or the behavior
Developers can change behavior and even structure
Localizers can manage locales in isolation
Build a Sample
To the editor...
Resources
Documentation
Mozilla Developer Center
- Documentation wiki for all Mozilla technologies
XUL Tutorial
XUL Reference
Software written using XUL platform
Mozilla Firefox and Thunderbird
Addons and extensions
for Firefox and Thunderbird
Songbird
- web media player
Joost
- web televison player
ActiveState Komodo
- application development environment
XUL Explorer
- lightweight XUL editor