Welcome   |   See it in Action   |   Wiki   |   Download  

 Examples and Demos
   Getting Started
 Getting Help
 API and Syntax Reference
   Getting Involved
 Subversion Repository
 XAP Adoption
What is XAP

XAP is an XML-based declarative framework for building, deploying and maintaining rich, interactive Ajax powered web applications.  It aims to reduce the need for scripting and help solve the development and maintenance challenges associated with large scale JavaScript programming.

XAP provides:
  • Declarative rich user interface via XML;
  • Data binding for connecting UI to data.
  • Incremental update of web pages, declaratively and programmatically.
  • A "plugin architecture" allowing developers to define their own XML tags to provide behavior and UI or even use a completely different XML syntax.

XAP is geared to application development - it picks up where JavaScript toolkits leave off. 

A declarative approach simplifies development

Rather than writing many lines of JavaScript to build a user interface XAP uses simple XML to create rich, complex user interface.  XML is also easy to parse, enabling supporting tools for visual creation and management of XAP UI.  XAP is not about "XML for everything" - XML is clumsy for expressing sophisticated logic.  XAP provides the plumbing and uses XML to describe the user interface, link controls to data objects and form a foundation for building applications; it then allows developers to place the right amount of code where it's needed.

Separate presentation from behavior

XAP defines presentation and data binding in XML along with client side event handling that works well with encapsulated and packaged JavaScript objects.  This clear separation between user interface and logic allows the creation of larger, more maintainable applications and fosters team development.

XAP works with any web server

XAP is a client side offering that you can use with any web server - PHP, .NET, etc.  It does not have any specific server requirements.

Event handling can take place at the client, using managed code objects (MCOs) written in JavaScript, or on the server with event handlers written in any language supported by the server environment. The MCO mechanism provides life cycle management and object orientation for future development of business and user interface logic - another step to simplifying development.

We're not re-inventing the wheel (XAP will use any UI toolkit)

Because XAP architecture is based on a "plugin architecture" that leverages a component bridges concept, XML UI markup can be connected to virtually any user interface toolkit. Initial XAP releases will support integration with toolkits such as Kabuki and Dojo. Future releases will focus on other full-featured, high-performance UI toolkits.

bullet Getting Started
bullet Architecture
bullet Demos

(last update - 24-Nov-06)

Copyright 2006 The Apache Software Foundation