As ajax is getting more and more popular. Everybody wants to make their web applications
ajax enabled. So in my first blog I decided to start with ajax.
So let's first start with what is ajax ?
Ajax stands for “Asynchronous JavaScript And XML”. The punch line behind ajax is lazy loading. Further to explore this point, whenever a web page is accessed, browser loads the whole page before showing it to user. Now let's say for a web application where you want to update some section of the web page frequently, but not the whole page. But using traditional web page design you cannot do this as everytime you want to update a section in web page, the whole web page needs to be loaded.
Using Ajax the whole web page is not required to be loaded again and again. Only the dynamic section gets loaded which gives a flicker free experience to end user and it's faster as only the changed data are transferred from server to client not the whole html page.
Let's say you want to add a stock ticker in your web site. So you need to add a ajax component for stock ticker in your webpage which will be updated automatically by getting data from server without loading your web page again and again.
Let's talk about a live cricket score card webpage where the webpage gets refreshed in a particular time interval. So by using ajax you can only change the necessary data like score and balls without updating the whole web page.
There are some very interesting ajax applications available now like Google Map, Google mail and also yahoo mail beta. Check yahoo mail beta which is a ajax version of yahoo mail. You will get a feeling of thunderbird/outlook express though the beta is little slow.
And also if you have not yet checked google pages and google spreadsheet, check them now. I was really amazed when I saw google spreadsheet. It's like you are using MS excel in browser. Isn't it cool.
As everybody wants to use ajax for their website, now the biggest challenge is the development of ajax based web applications. As you know ajax is a client side feature of a web application. So to enable ajax in your web application you need to do some client side programming. Now the client side programming is typically javascript programming. So tell me how many java programmers want to do javascript programming. Javascripts are very good thing for client side validation and for some cool stuff in client side. But as a java programmer ( I don't know about others java programmers) I am used to object-oriented programming and don't like to play around javascript, may be I find little hard to program javascript :) .
So as writing a complex ajax application requires a lot of javascript programming, we needs some kind of frameworks to write ajax applications. As you know framework does most of the common tasks and it helps developer not to worry about common tasks and helps to develop application rapidly.
There are some ajax framework freely available now. You can check http://ajaxpatterns.org/Java_Ajax_Frameworks for some of the ajax frameworks available in the market.
I had tried JSPControl Tag library ( http://jspcontrols.sourceforge.net/) one of the ajax framework. And surprisingly within 15 min I wrote my first ajax based application which requires a very minimal javascript programming. Do check it if you want.


