Welcome!

Java Authors: RealWire News Distribution, Janakiram MSV, Hari Gottipati, Tad Anderson, Yakov Fain

Related Topics: XML

XML: Article

XAML: A World Of Opportunity

New declarative language opens many doors for many entities

Programming techniques continue to evolve, and with evolution comes opportunity. The success of the Web, in conjunction with the demand for rich clients and rapid development, has spawned a new generation of declarative languages. XUL, Macromedia's Flex, Microsoft's XAML, and Xamlon, Inc.'s Xamlon Pro 1.1 are designed to enable rapid, XML-based application develoment with access to structured programming languages for application logic.

There is a myriad of advantages to declarative user interface development. Markup-based application interfaces are quick to build and easy to modify. HTML and other markup languages suffer from limited programmatic functionality and control, but the new generation of declarative languages circumvents this traditional limitation by offering back-end scripting languages, in the case of XUL and Flex, or access to any .NET language for the back end in the case of XAML from Microsoft or Xamlon. Finally, as described below, XAML's separation of application interface from application logic offers benefits to developers and customers.

In the remainder of this article I will define XAML and describe its advantages. Then I will discuss the benefits of XAML for various software businesses: consulting firms, independent software vendors (ISVs), and corporations with internal customers and in-house development teams. Finally, I'll speculate on how XAML might evolve and how the market will grow beyond the Windows platform.

What Is XAML?
XAML is an XML-based syntax for separating user interface definition from program logic code. Put another way, XAML is a declarative syntax that provides user interface control while relegating programmatic functionality and application logic to "code behind" files that use structured languages. XAML was developed by Microsoft as the user interface language for its next-generation presentation layer, code-named Avalon. Xamlon's XAML is available now and Microsoft's XAML is currently slated for release in 2006.

The XAML Revolution
XAML is a revolution in Windows application development. For the first time, Windows application interfaces can be written declaratively, and all the benefits of markup apply. XAML offers those benefits to current .NET developers, opens Windows application creation to a whole new group of programmers, and for the first time enables Windows applications to be published unchanged on the Web.

With XAML developers can quickly create and easily modify Windows application interfaces. Markup development is fast. It requires less code and results in fewer bugs than traditional structured programming. The separation of user interface code from application logic provided by the XAML model means that programmers can easily modify interfaces without changing the underlying application code. The interface/logic separation also protects code; changes to the user interface cannot introduce new bugs into the application logic.

Current .NET developers benefit from XAML. User interface development, traditionally a chore for programmers, is faster and more flexible. The XAML methodology makes it easy for one developer or development team to create the application interface while another developer or team implements the application logic. Once interface events are defined, user interface code can be built in isolation from application code. A .NET developer can choose to hand interface creation off to designers and markup developers, focusing on the application logic instead.

XAML opens Windows development to two new, large constituencies: graphic designers and markup developers. Developers and designers who cut their teeth creating Web pages can now build Windows interfaces, harnessing the full power of the Windows presentation layer. At the same time, XAML offers far more user interface flexibility, freeing designers, developers, and ultimately end users from the tyranny of the boring blue rectangular window and enabling a boom in skins and interesting custom interfaces. Markup developers and designers become "A-level" contributors, and the huge Windows application space is now a market for them.

Finally, by using XAML, Windows applications can be delivered unchanged via the Web to Windows clients. .NET developers can build rich Internet applications ("smart clients" in Microsoft's terminology) with the full functionality of Windows, and deliver them to any connected Windows machine in the world.

Business Opportunities
This new model for Windows and Web development has tremendous potential for forward-thinking developers and businesses. A new development methodology, created and heavily promoted by Microsoft, provides an unmatched opportunity for astute developers and consultancies to gain early experience and become recognized XAML experts. ISVs can be first-to-market with forward-compatible, XAML-based applications, and corporations can easily build and deliver applications across geographically distributed operations.

Consulting Firms
Independent developers and consulting firms have a brief window of opportunity to be early adopters of XAML. As Avalon's release date nears, Microsoft will flex its marketing and educational muscles to promote Avalon and XAML. As XAML awareness grows, more organizations will move to XAML development and look for developers and consultancies able to ease this transition.

Cutting-edge expertise is a powerful reason for consulting firms to start learning XAML today, however, there are other persuasive arguments as well. Because markup development is fast, projects are completed faster and at a lower cost. Since markup developers are generally less expensive than other programmers, projects built with XAML can have higher profit margins than traditional .NET development projects while delivering great value to the client. Finally, since XAML is for Windows XP and beyond, budgets for XAML may well include hardware and operating system upgrades.

ISVs
Independent software vendors (ISVs) also gain from early XAML adoption. First and foremost, no ISV wants to create software that is outdated when released. .NET applications released around 2006 that do not take advantage of XAML will be in that unenviable position. Customers want software that uses current technologies, and in the near future that will mean XAML-based applications.

XAML offers other important benefits to ISVs. Rapid declarative development can significantly reduce development costs. An easily modifiable user interface makes it simple to create custom screens and data views for clients, and easy to "brand" software with a client's look and feel. Finally, seamless delivery across the Web with no code changes allows ISVs to offer product deployment via the Web with no additional development effort.

ISVs are already exploring the XAML opportunity. As I write this, I'm corresponding with three companies interested in building their next-generation products with XAML. One sells management software for communications infrastructure providers. The second provides cross-platform business framework software, and the third makes controls and widgets for .NET. All three of these ISVs want to take advantage of the benefits discussed above. The first two want to easily customize interfaces for their clients and offer Web deployment, without increasing their product cost or development time. The third ISV wants to be among the first to offer XAML-based controls; they have a history of success in the .NET market, believe there will be a significant pool of XAML developers, and see an opportunity to be the leading provider of XAML controls.

Corporations
Corporations with internal development teams and internal customers can profit from XAML as well. With it, corporations gain the flexibility of client-side applications with the convenience of server-side control. Far-flung employees can access rich corporate software over the Web, ensuring that new and updated applications are available immediately across a company's entire operation.

Corporations also benefit from the other advantages of XAML. The ability to quickly and easily customize application interfaces for internal customers helps in-house development teams satisfy corporate needs. Decreased development time, less code, and fewer bugs are a boon for internal developers, and the associated reduced development costs are a boon for corporations.

To sum up, the rapid development, reduced costs, and increased customer satisfaction offered by markup-based user interface development are a tremendous win for corporate developers, for ISVs, and for development consulting firms.

Beyond XAML
XAML is a new syntax, but already developers and software firms are exploring ways to build on the foundation it provides. Separating application interface and application logic development is a great step, but limitations and challenges remain. Two potential directions for XAML evolution are extending its syntax by adding programmatic functionality, and extending its reach by enabling cross-platform XAML development.

Extended XAML
The addition of programmatic functionality to XAML will make it more attractive to many markup developers. As has been discussed, XAML is designed to leave most logic in code behind files. Markup developers, however, often find it useful to have certain functionality, such as data binding, variable manipulation, and flow control, available via markup. The demand generated by this large group of developers makes it inevitable that companies will provide products that extend XAML, and fortunately XAML has been designed from the ground up to be extensible.

Cross-platform XAML
XAML is an obvious choice for a cross-platform user interface language. XAML was invented by Microsoft for building Windows applications, but many programmers using XAML have markup experience on the Web and other platforms. A logical next step, and one that developers will eventually demand, is an engine that converts XAML to other languages, such as Flash or Java. With this evolution, developers will be able to create a user interface with XAML that can be deployed, unchanged, across multiple platforms.

Conclusion
XAML is a winner. As the cornerstone of Microsoft's new presentation subsystem, XAML will be heavily promoted, and over time, an abundance of XAML products and services will be available from Microsoft and others. As a simple method for developing Windows user interfaces, XAML will be embraced by developers and organizations looking for decreased development time and increased flexibility when building Windows applications. With its declarative syntax, Windows functionality, and Web friendliness, XAML is a natural choice for a new cross-platform interface language. Take a good look at XAML today.

More Stories By Paul Colton

Paul Colton is the founder and CEO of Xamlon, Inc., a leading provider of cross-platform markup development tools. Prior to Xamlon, Paul founded Live Software, creator of JRun, the leading Java servlet engine now sold by Macromedia, Inc.

Comments (3) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
XAMJ Working Group 05/29/05 11:21:10 PM EDT

As a relevant note, we've just done a
public announcement of the XAMJ project,
an open-source, Java-based alternative.

Webdroid 01/07/05 10:02:21 PM EST

Hummm. The article may suck. But beleive you me. XAML will be big. So if you haven't taken the time to prepare... You are already behind.

noone@nowhere.com 01/07/05 09:27:22 PM EST

This article sucked! How much did MS pay you to regurgitate their marketing BS? How 'bout supplying actual contents before you waste everyone's time again.