Monday, March 28, 2005

What to think about all the Ajax noise?

In the last 2 months the blogosphere has been very verbal about Ajax technology that describe a way of doing Rich UI using DHTML, Javascript and XML over HTTP. If you are not already familiar with the concept the article "Ajax: A New Approach to Web Applications" by Jesse James Garrett is a very good introduction.

For me, it is the first time that finally we have something really new in term of UI that is compliant with most of the modern architectures that are server side Java based. You can argue that Flex, OpenLazlo, ..., are very good and powerful, but first of all they use a proprietary plugin and really integrated with the development approach that most of the Java developers are currently using (MVC based on Struts, JSF or others). What get me very excited about Ajax is the fact that finally we can see Web Development giving an easy and standard/open way of creating rich client.

If you search around Ajax your will see that more and more framework are providing integration of Ajax technologies into their solution. What I see as the biggest move is the adoption of Ajax by JavaServer Faces, and simply because it is the J2EE standard for Java Web Development. I am sure that lot of you will say that Tapestry,ROR and other existing frameworks are providing the integration now, so why bother with JSF... Hmmm, I will say that all the current solution as still geek oriented and really focus on the core developers... What I see with JSF/Ajax integration is finally enterprise developers, that are used to 4GL development tools, (where the most important part is to develop business logic not a nice framework or a new set of libraries) will be able to develop Web Applications based on components that are smart enough to give the usability of a desktop application.

To give an idea of what I mean, you can take a look to Oracle ADF Faces components some of them are really powerful and provide rich interactivity to the user. One example is the Oracle Table Component that support pagination (next/previous) without refreshing the whole page. As a developer you drop the component on your page, set the properties, and done! You do not have to care about any HTML or Javascript coding. And this using a standard based faces components that you can use in any Web Container and even IDE. I know that the ADF Faces components are not using the sames stack as Ajax (eg: XML over HTTP) but this is just an example of what will be the experience for a developer and a user.

No comments: