XAML accelerates app development

XML-based language the user interface markup language for the Windows Presentation Foundation

Extensible Application Markup Language is the user interface markup language for the Windows Presentation Foundation, one of the pillars of the Microsoft .Net framework. The concept is similar to the combination of HTML and JavaScript used in Web applications, but on a larger scale.

XAML (pronounced Zammel) is an XML-based language for describing graphically rich visual user interfaces, such as those created by Adobe Flash. In typical uses, XAML files are produced by visual design and developer tools such as Microsoft Visual Studio. XAML extends the functionality of XML, which was designed to store data, by adding the ability to define properties for user interfaces and events. This allows applications to be developed faster.

While JavaScript-enabled browsers have allowed a high level of complexity in browser-based applications, the applications can be quite challenging and expensive to develop, debug, test and maintain.

XAML provides an abstraction layer that separates presentation from logic, letting designers maintain the overall design in XAML. XML markup, which is stricter than HTML, is a more natural fit for logical components, and it eliminates code duplication common to most Web solutions.

Benefits of employing XAML architecture include:

-- Increased visual consistency and productivity through component reuse and device-independent markup.

-- Partnership opportunities - integration of third-party applications is smoother.

-- Faster, more capable browser-based applications incorporating coding such as Cascading Style Sheets, JavaScript and Asynchronous JavaScript and XML where appropriate.

HTML was developed primarily for use on the Web, whereas XAML's principal target is applications that run directly on Windows.

Unlike other markup languages, XAML is designed to integrate directly with .Net. Moreover, XAML browser applications are intended to combine the best features of Web applications and rich-client applications. As with a Web application, XAML applications can be deployed from a server to a system with a single click.

When distributing an application, the advantages of being browser-based vs. locally installed are clear, including easier rollout and maintenance. Consider an example of XAML in use within a browser-based content management system (CMS) with multiple geographically dispersed editors. XAML provides, among other things, a Web desktop, which lets users open multiple windows in a single browser.

XAML is used at two levels in the software: for the CMS application and for the Web sites that are created using the software.

Within the CMS application, XAML is used to manage, customize and extend the browser-based user interfaces to the CMS repository. XAML components are compiled into .Net Common Language Run-time instructions executed by ASP.Net for maximum performance. Only with XAML could a CMS vendor build a user interface comparable with the Windows desktop yet still run the application in a browser. This provides an extremely flexible interface familiar to users that can be quickly customized without major reprogramming.

In the development of customer-facing Web sites using the CMS, XAML presentation components are used along with standard ASP.Net technologies (such as aspx, ascx, XSL and Web controls). Coding with XAML avoids the burden of maintaining legacy code and paves the way for next-generation, rich Internet applications.

A CMS is a good example of where simultaneous development of presentation elements by the design team, and logic components from the development team, can be created in parallel with XAML and combined in a modular format to create a dynamic application or Web site.

With the new Microsoft Vista operating system starting to blur the line between the Internet and Windows environments, XAML is increasingly becoming an attractive option for development of applications that also cross this divide.

Microsoft seems to be moving toward using other applications that generate XAML automatically rather than promoting coding directly in XAML. But the ability of XAML to draw together .Net components and other XAML renderings in a very simple process shows it is a strong tool in its own right.

West is director of technology for Sitecore.

Join the newsletter!


Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

More about Adobe SystemsCMSLogicalMicrosoft

Show Comments