• No results found

The XML Derivatives

In document Foundations Of Ajax (2006) pdf (Page 33-35)

Since its invention in the mid-1990s, the W3C’s eXtensible Markup Language (XML) derivative of SGML has been amazingly popular. Seen by many as the answer to all that ails computer development, XML shows up everywhere. In fact, Microsoft has announced that Office 12 will support XML file formats.

Today we have no fewer than four XML derivatives for creating Web applications (and that doesn’t count the W3C’s XHTML): XUL from Mozilla; XAMJ, an open-source alternative that blends Java into the mix; MXML from Macromedia; and XAML from Microsoft.

XUL: XUL (pronounced “zool”) stands for XML User Interface Language and comes from the Mozilla Foundation. The popular Firefox browser and Thunderbird mail client are written in XUL. XUL lets developers build rich applications that can run with or without a connection to the Internet. Designed to be learned quickly by developers familiar with DHTML, XUL provides cross-platform support for standard interface widgets such as windows and buttons. Though not a standard itself, XUL is based on standards such as HTML 4.0, CSS, the DOM, XML, and ECMAScript. XUL applications can be run from a browser or installed on a client machine.

Of course, XUL is not without its drawbacks. XUL requires the Gecko engine, and as of now Internet Explorer has no corresponding plug-in. Though Firefox has certainly cap- tured a respectable share in the browser usage statistics, the lack of Internet Explorer support largely makes XUL unusable for most applications. Several projects are under- way to make XUL available to a number of platforms, including Eclipse.

XAML: XAML (pronounced “zammel”) is a component of Microsoft’s upcoming operating system code-named Vista. XAML is short for eXtensible Application Markup Language and defines the standard for creating user interfaces in Vista. Similar to HTML, XAML uses tags to create standard elements such as buttons and text boxes. Based on top of Microsoft’s .NET platform, XAML is compiled into .NET classes.

It should be pretty clear what the limitations of XAML are. As a Microsoft product, you are relegated to a Microsoft operating system. In many cases (especially corporations), this may not be problematic, but no bricks-and-mortar company could justify turning away paying customers simply because they didn’t drive a particular model of automobile, for example. Combined with the continually shifting ship date of Vista, XAML isn’t much of a player right now. That said, in a few years, we might be whistling a different tune.

MXML: Macromedia created MXML as the markup language for use with its Flex technol- ogy; MXML stands for Maximum eXperience Markup Language. MXML is designed to be like HTML, allowing you to design your interface in a declarative manner. Like XUL and XAML, MXML provides a richer set of interface components, such as DataGrid and Tab- Navigator, that allow you to create rich Internet applications. MXML doesn’t stand on its own, though; it relies on Flex and the ActionScript programming language to code busi- ness logic.

MXML has some of the same limitations that Flash does. It’s proprietary and relies on expensive development and deployment environments. Though .NET support is expected in the future, today Flex runs only on top of Java 2 Enterprise Edition (J2EE) application servers such as Tomcat and IBM’s WebSphere, further limiting its adoption.

XAMJ: Not to be outdone, the open-source community has added an entry to the XML deriv- ative world of interface design. XAMJ was recently introduced as another cross-platform option in the Web application developer’s toolkit. This particular derivative is based on Java, which provides the full power of one of the most popular object-oriented languages in use today. XAMJ is essentially an alternative to XAML- or HTML-based applications that seeks to be a more secure option that neither is reliant on a particular framework nor requires a high- speed Internet connection. XAMJ is a compiled language that builds upon a “clientlet” architecture, and though stand-alone applications are possible, in general XAMJ-based pro- grams will be Web based. As of this writing, XAMJ is too new to properly critique; however, it bears watching.

As long as we are talking about “things that start with X,” let’s not forget the W3C XForms specification. XForms is designed to support a richer user interface while decoupling data from presentation. Not surprisingly, XForms data is XML, which allows you to use existing XML tech- nologies such as XPath and XML Schema. XForms can do anything standard HTML can do plus more, including checking field values on the fly and integrating with Web Services. Unlike many W3C specifications, XForms doesn’t require a new browser—you can use several existing imple- mentations now. Like most of the XML derivatives, XForms is a fresh approach, so patience may be appropriate.

In document Foundations Of Ajax (2006) pdf (Page 33-35)