Blogs Bookmarks Kim Blog (English) Technology

Multi-Language Ajax Frameworks – Ajax Patterns

Multi-Language Ajax Frameworks – Ajax Patterns

As I wrote earlier, I’m beginning to warm up to the concept of the Ajax programming model(s), and with the emergence of multiplatform Ajax frameworks, it looks like now is the time.

The article above, from the great resource Ajax Patterns, contains a list of cross platform Ajax frameworks. I think that especially RIALTO – Rich Internet Ajax Toolkit looks very promissing. For a demo of what you can do with RIALTO check out the demo.

RIALTO – like a lot of the Ajax frameworks – is open source, for RIALTO it’s under an Apache license.

In case you don’t know, Ajax is a programming model that makes it possible to write rich client applications, that run in a fairly recent standard browser, and only require that JavaScript is enabled on the client – no nasty plug-ins or ActiveX components.

Ajax has been popularised by web applications like Gmail and Flickr – key applications of the much hyped Web 2.0. Gmail is highly cross platform on the client side, I’ve used it on Windows, Mac OS X, PocketPC and Windows Mobile (where it degrades, grafefully, to postbacks).

Ajax isn’t really a standard, but more a terminology, that covers the fact that you can replace the standard, postback, based communication with the server, with background communication with server APIs, e.g. using the XMLHTTP protocol that is standard in modern browsers.

I still think that a good Ajax framework should make it possible, to degrade gracefully, to old skool postbacks. Why? Well with postbacks we virtually eliminated the “write-once-test-everywhere” nightmare, that accompanied cross platform technologies like Java – since the rendering took place on the server – I expect that this will be apparent, when more and more “amateur” sites “go Ajax”. With Ajax I fear that write-once-test-everywhere will be comming back with a vengance – I’m proceeding but with extreme caution.

Leave a Reply

Your email address will not be published. Required fields are marked *