Announcing Xaja, a PHP Reverse Ajax framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi list!

A few month ago, I asked a question on this mailing list regarding the closing of a connexion between the PHP server and the browser. Thanks to the answers I was given, I have been able to complete the framework I was working on. Today, I'm proud to announce the first open source alpha release of "The Xaja Machine", a full-featured PHP Reverse Ajax framework, at http://www.thecodingmachine.com/projects/xaja.

/The Xaja Machine /is a PHP framework that enables the developer to access the most advanced Ajax features very easily. It is a quite big piece of work. It has been in development for more than a year now. Xaja is a *Reverse Ajax* framework, therefore, it enables the server to *push* data directly to the client (just like DWR in the Java world). Furthermore, Xaja changes the way a developer thinks about its application. Instead of being a series of request and responses like any web framework does today, a Xaja application is made of a process on the server side that truly dialogs with the browser. This is a shift in the web paradigm. This is furthermore made easier by an extensible tag library and numerous functions to manipulate the DOM of your web page. The best part of this is you can do that *without typing a single line of Javascript*.

Below is a list of features that you will find in Xaja:

   * *Ajax:* Xaja makes it easy to develop pages with Ajax features.
     You can develop applications that update the HTML page without
     having to reload the entire page.
   * *Pencil:* In order to update the HTML page easily, Xaja provides
     an innovative method that we called the /Pencil/. Basically, you
     just tell to Xaja where you would like to write into the page, and
     you let the application output some HTML using the usual PHP
     "echo" function.
   * *DOM Mapping:* From your PHP application, you can manipulate the
     Document Object Model (DOM) of the HTML page that is displayed in
     the browser. You can dynamically add some items, remove other
     items, etc... Basically, you take control of the browser from the
     server side.
   * *Tag library:* To make development easier for the developer, Xaja
     comes with an extensible tag library. For instance, with Xaja,
     adding a calendar is as easy as writing <calendar />. Furthermore,
     Xaja adds a number of custom event handlers to standard HTML tags
     that link directly back to PHP code.
   * *Reverse Ajax:* Last but not least, Xaja comes with a powerful
     /message broker/ that enables PHP processes to talk to each other,
     and a /reverse ajax/ feature that enables a PHP process to talk
     back to the browser. This makes it easy to develop highly
     interactive applications like instant messaging, live feeds, or
     real-time statistics.
   * *Database ORM tool:* although not part of Xaja directly, Xaja
     comes bundled with The Database Machine (TDBM). TDBM is a tool
     that enables the developer to access its database very easily.
     More information at www.thecodingmachine.com/projects/tdbm
     <http://www.thecodingmachine.com/projects/tdbm>

Here is a sample using events handling and DOM manipulation:

a     = <input type="text" phpvalue="*$a*" /><br />
b     = <input type="text" phpvalue="*$b*" /><br />
a + b = <input type="text" id="result" readonly="true" />
<input type="button" value="Compute" phponclick="*$xajaController->getWidgetById('result')->value = $a+$b*" /><br />

In this simple adder sample, you will notice the "phpvalue" attribute that maps directly a PHP variable ($a and $b) to the value of the input field. You will also notice the "phponclick" attribute that contains PHP code that gets executed as soon as the button is clicked.
This sample shows only a small part of the features that Xaja offers.

Xaja is still in an early stage of development, but it is time for us to get some feedback (or some help, since it is released in GPL). You can download an alpha version of Xaja from http://www.thecodingmachine.com/projects/xaja You can view a screencast presenting Xaja at : http://www.thecodingmachine.com/cmsDoc/xaja/trunk/screencast.html?group_id=29

Thanks in advance to anyone sending me comments or problems regarding Xaja.

Best regards,
David.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux