| By Paul Colton | Article Rating: |
|
| January 4, 2005 12:00 AM EST | Reads: |
17,840 |
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.
Published January 4, 2005 Reads 17,840
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
![]() |
XAMJ Working Group 05/29/05 11:21:10 PM EDT | |||
As a relevant note, we've just done a |
||||
![]() |
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. |
||||
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?


















