XUL

From WhyNotWiki

Jump to: navigation, search

Contents

[edit]

Peter Bojanic. The Joy of XUL - MDC (http://developer.mozilla.org/en/docs/The_Joy_of_XUL). Retrieved on 2007-05-11 11:18.


[edit] Conclusion

Mozilla, featuring XUL, delivers a compelling technology for developing cross-platform applications with the same rich user interface and end user experience as native desktop applications. Designers who are experienced in building web applications using W3C standard technologies can leverage this experience from the browser directly to the desktop.

Before the web became the standard for delivering applications to users across disparate desktops, this problem was solved with cross platform client-server tools. But these offerings were invariably proprietary, cost a substantial amount of money per developer, and had runtime license fees that kept you humble and tightly tethered to the vendor. Mozilla delivers much of the same value as these cross platform tools, but with an open source license.

As a rapidly maturing cross platform technology, XUL could fill an interesting void for technologies such as Java J2EE and Microsoft .Net which focus on enabling network access to distributed objects. Dynamic application logic can benefit significantly from a UI presentation layer that is standards-based, scriptable, extensible, and similarly distributable over the Internet.

XUL blurs the distinction between desktop application and Internet browser apps because it is firmly entrenched in both worlds. Some web applications will benefit from being migrated to XUL because of the enhanced UI capabilities, consistent implementation of the specification across supported platforms, and access to native resources such as shared libraries and the local file system.

Whether you need to migrate an existing web application to the desktop, are looking for a technology that will enable you to easily port your applications to multiple platforms, or want to integrate your own cool features into the browser, XUL warrants serious consideration.


[edit] Overlays

Peter Bojanic. The Joy of XUL - MDC (http://developer.mozilla.org/en/docs/The_Joy_of_XUL). Retrieved on 2007-05-11 11:18.


Overlays are XUL files used to describe extra content for the UI. They are a general mechanism for adding UI for additional components, overriding small pieces of a XUL file without having to resupply the whole UI, and reusing particular pieces of the UI.

Overlays are a powerful mechanism for customizing and extending existing applications because they work in two related but highly different ways. In one respect, Overlays are synonymous with "include" files in other languages because an application may specify that an Overlay be included in its definition. But Overlays can also be specified externally, enabling the designer to superimpose them upon an application without changing the original source.

In practical terms, this enables developers to maintain one code stream for a given application, then apply custom branding or include special features for customers with a completely independent code base. This leads to an overall solution that is easier and less costly to maintain in the long run.

There is an additional benefit to Overlays for software developers who intend to add features to Mozilla that they wish to keep proprietary. The Netscape Public License (NPL) and Mozilla Public License (MPL) require developers who alter original work (source code files that are provided with Mozilla) to release the source code for these changes to their customers. Overlays can be used to add features to Mozilla without contaminating the original open source code with proprietary alterations.

http://www.firephp.org/Reference/Developers/ExtendingFirebug.htm FirePHP - Extending Firebug < Developers < Reference


Concepts and Quick Recap

The Gecko engine behind Firefox is designed to allow you to build user interfaces using an XML-based language called XUL. One primary objective of this language is to allow you to overlay new components by essentially inserting them into existing XUL applications like Firefox. Firefox extensions make heavy use of overlays to add functionality to Firefox without needing to modify the Firefox code.

Similarly FirePHP uses overlays to add functionality to Firebug without needing to modify Firebug itself.

This sounds a lot like the ability in Ruby to reopen core classes and add your own methods to them! Same idea, only in the context of user interfaces...


[edit]

Retrieved from "http://whynotwiki.com/XUL"
Personal tools