Skip to content

Apache XAP – The New Approach to Ajax (1)

2006 June 23
by Coach Wei

XAP is up and running at Apache (under Apache Incubator)…

It's initial website is at: http://incubator.apache.org/xap. For those who are really brave, feel free to participate xap-dev@incubator.apache.org for discussions/suggestions/comments, or dig into source repositary.

Why XAP and What Is The Value of Declarative Ajax?

XAP represents a new way of developing, deploying and maintaining Ajax applications. It uses a declaratiave syntax (XAL, http://www.openxal.org/) for describing UI, Data, Data Binding – so that the only Javascript code that needs to be written is business logic. Everything else can be done declaratively (or even using visual development tools). The following diagram shows how XAP simplifies Ajax development:

In the “Old Model”, developers have to write Javascript code for everything: Ajax UI, business logic, data, borwser compatibility and network communications, etc. In the XAP model, the only Javascript to write is business logic. Everything else is done declaratively and covered by XAP itself.

XAP Architecture

XAP is based on an application design center while most of the Ajax offerings today are based on a web design center. XAP actually leverages Dojo and other Ajax toolkits for various functionality, instead of reinventing the wheel. The following is the overall XAP architecture:

In the next article, we'll cover:

1. XAP positioning?

2. What are the out-of-box functionality from XAP?

3. XAP Plugin Architecture: the Magic that support any markup or any Ajax toolkit

4. XAP code samples

  • Anonymous

    How does the recent withdrawal of Zimbra from Apache affect XAP plan?

  • Coach Wei

    A basic design of XAP is to be able to “plug in” different Ajax toolkits (such as Kabuki and Dojo) as well as different markup languages.
    The withdrawal of Kabuki from Apache does not impact XAP because:
    1. XAP has not built-in dependency on Kabuki;
    2. XAP is currently being implemented using Dojo as the default toolkit;
    3. Kabuki will still be available from Zimbra as Apache licensed software;