Monday, January 16, 2006

AJAX - Hype or Real?

What is AJAX.

AJAX is nothing more than a nice acronym for Asynchronous JavaScript And XML.

AJAX is a web development technique for creating interactive web applications using a combination of:

• XHTML, HTML and CSS for marking up and styling information.
• The DOM (Document Object Model) manipulated through JavaScript to dynamically display and interact with the information presented
• The XMLHttpRequest object to exchange data asynchronously with the web server.
• And finally XML for transfering data, although any format will work, including preformatted HTML, plain text.


Ajax's prime advantage over other Rich Internet Application technologies is seamless integration with HTML so it can be used incrementally without the need to change existing Web content.

However, the AJAX technology is still immature, and tools and frameworks have not gained a lot of traction yet. It involves a lot of work with toolkits and libraries.

Rich Internet Applications are those applications that offer functionality beyond standard HTML frames and hyperlinks. A well-noted example of Ajax functionality is Google Maps.

While Ajax is a recently coined termed, it has been around since the introduction of JavaScript. It is based on JavaScript/ECMAScript, Cascading Style Sheets, Document Object Model and XML HTTP Request. Initially, it was difficult to design Ajax-style applications that ran across different browsers but now the mainstream browsers have migrated to support the Microsoft implementation of these technologies as a lowest common denominator.

The dominant RIA technology in use today is Macromedia Flash/Flex. Other RIA technologies include the user interface markup language for the Microsoft Windows Presentation Foundation called XAML (Extensible Application Markup Language), Mozilla's XML-based user interface language XUL, droplets and Java applets, and Microsoft's upcoming Windows Presentation Foundation/Everywhere (WPF/E).
Microsoft is planning to roll out an Ajax framework extension, code-named Atlas, which looks very promising.

One of the big problems with AJAX used to be that there was not too much support for it in industry standard IDEs. Over the recent months, slowly but effectively other integrated development environments (IDEs) are being made available for Ajax although many are not yet mainstream. These include Javascript Synthsis Technology (JST) from Morfik Technology, IntelliJ IDEA 5.0 from JetBrains, Tibco General Interface (GI) from Tibco Software, Visual GUI Builder from JackBe, Backbase from Backbase B.V. and the open source Ruby on Rails framework.
The Tibco tool for writing Ajax applications looks quite good.

In addition to IDEs or framework extensions, there are also Ajax UI tools and remoting tools available -- more than four dozen in all, including both proprietary and open source offerings.

According to a recent Burton Group survey of 488 Ajax developers, the most popular tool kits, libraries and framework extensions are Prototype, a JavaScript framework with an MIT-style license; Script.aclo.us, a JavaScript library with an MIT-style license; Direct Web Remoting, which has an Apache 2.0 license; the Dojo UI tool kit with Academic Free License v 2.1; and Ruby on Rails.

To date, much of the Ajax attention has been focused on business-to consumer Web sites, but Ajax does have some synergy with Web services and SOA, and it could impact enterprise portals.

Some people believe Ajax will be a major comeback factor in portal solutions. Portals came out with a lot of hype, but in reality they're not a quite a silver bullet. But the ability to combine Ajax presentation with portal functionally will enhance the corporate user experience.
One of the problems with Ajax is that it can be easily abused. If developers don't understand usability theory, they will apply it in a way that will be a nuisance and people will turn off JavaScript.
The analogy I use is the browser popup window, which was originally a usability feature, but it was so abused it became a pariah of the Web and people disabled them.
So as of now, there is no clear data whether AJAX is just hype or a reality that will make its way into enterprises.

My personal suggestion is to wait and watch to see how the industry embraces AJAX but in the meantime, do prepare yourself with at least the basics of AJAX so when enterprises are ready to embrace AJAX, you already are!!

Here are some nice links for you to get started:

http://en.wikipedia.org/wiki/AJAX
http://www.javalobby.org/articles/ajax/
http://dhtmlnirvana.com/ajax/ajax_tutorial/
http://www-128.ibm.com/developerworks/library/j-ajax1/


Talkbacks and comments are always welcome.

4 comments:

Anonymous said...

Interesting! Please have a look at Ajax Forums

Mark said...

Great article. I've recentlytried ajax out and loved it. I'm gonna experiemnt with it a lot more now.

Floyd said...

Thanks Mark. Keep in touch and let me know how it goes during your learning exercise.

Gizmo said...

I was a javascript/DHTML or as today called AJAX a very long time and I found another way to work around the cancer factor as I call it (javascript development). I call it WebGui and it is my new development environment it is basically WinForms like API combined with a AJAX unique communication layer making it possible to create complex applications like "Outlook Web Access" as simple as creating a WinForms application...

See my webcast here here
See my site here