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