Design Pattern – AJAX

Abstract

Garrett (2005) explained that AJAX represents a new approach to the web applications and to the web development design pattern.  Web interaction is a desire feature that can make web application more attractive to be utilized within any businesses and organizations. Web applications were missing the richness and the responsiveness that exists in the desktop applications, and it is about time to have the technology and the techniques that elevate such features to the web applications. Having said that, AJAX promotes such powerful features by incorporating the following:

  • Promoting standards-based presentation via different tools and programming languages such as XHTML, CSS, and JavaScript.
  • Promoting the dynamic display that exists in the desktop application by using the Document Object Model.
  • Promoting the interactive interface through the data interchange and data manipulation through the XML and XSLT.
  • Promoting the dynamic response to the end-user by implementing asynchronous data retrieval using XMLHttpRequest.
  • Promoting the client side validation; and the interactive mode with end user via JavaScript.

Having such technique implemented in the web application such asAJAX, the end-user within any workplace can be more interactive, and reduce the waiting time for users to get what was requested in a fast interactive process.

Characteristics that make AJAX attractive

Some of the characteristics of AJAX techniques that make any web application attractive are: the responsive interface that can be created by AJAX, reducing the waiting time of web application to respond back to end-user request, isolating any problem that could happen in any part of the page from the rest of the page, and reducing the traffic to the server that can affect the performance of any application. The above features overcome the limits of the browser, and create a desktop like environment to the end-user to communicate with the web application. Also, the standards implemented in the AJAX enables the faster and better solution for any business or organization to provide the interface that can be used within these institutions. The end result of all of the above is rich interactivity over the web to the end-user of any organization to use (Anglin, 2009).

Frank (2005) explained that AJAX promotes the Desktop-like user interface through the usage of standard user interface controls, flexible and dynamic layout containers, animation, and other features. Through the XMLHttpRequest object as part of the technology used by AJAX, browsers use such component to create asynchronous interactive user interface without having to refresh the web pages. That technique reduces the time used to come with the responses that the users requested, and made the web application more attractive to users. One of the selling points for AJAX is the quick development process and implementation within any web application without the need of too much information about the controls that are used by the applications. Also, future of the web application developments are leaning towards  the open standards and vendor neutrality, since the current HTML web applications couldn’t provide the user interface that can fulfill the needs of users interactions with the web applications. AJAX fits all of the above requirements, and more. AJAX offers the potential for dynamic and more powerful and user-friendly web applications.

Advantages and disadvantages of AJAX

Meriaz (2006) explained that apart from the features that can be offered by AJAX that can give the web application the look of the desktop applications, there are other advantages that can be offered by the AJAX technology, some of these advantages are:

  • AJAX provides zero footprint installations on the client-side that add benefits of such technology.
  • AJAX is a browser agnostic which means lower maintenance and development costs.
  • AJAX promotes the Web 2.0 applications with the creation of rich multimedia contents in shared environment.
  • AJAX engine helps implements the users’ cache, which reduce the bandwidths usage since the only data is required to travel through these bandwidths is the information exchanged not the information presented to the web pages.
  • AJAXcreates scalability by reducing downloads of sophisticated ActiveX and plug-ins.
  •  Web application saves content in the user’s cache instead of the PC hard drives as in desktop applications, such technique promote high security to any client.
  • AJAX Reduces the waiting time for the end-user, and optimize the web application performance.

Interakt (2005) explained that before implementing theAJAXtechnique in the web applications some disadvantages have to be considered to be avoided; and such considerations will increase the benefits of such feature in any web application. Some of these disadvantages are:

  • The development time and the cost of developing web applications can be increased by implementingAJAXsince it’s considered to be more difficult to implement than the classic web applications.
  • Despite the fact that AJAX used a proven technologies and programming language such as JavaScript, HTML, and CSS, the components of AJAX still need more improvement.
  • There are still a lot of questions to be answered about security and the privacy of the users.
  • The page state gets lost with the nature of the asynchronous load that is used by AJAX, since the browser history and bookmarks will not be able to restore the exact page state.
  • Since all the browsers don’t have a complete support for JavaScript, there’s a big concerns about the accessibility of the AJAX.
  • Since AJAX uses XMLHttpRequest object as part of its technology, due to the security constraints, it’s not possible to access any information from other server and only the host server will be accessible to the AJAX components.

Other frameworks that can be utilized

Stewart (2007) explained that Silverlight can be another technology that can add interactive features that many users will be looking for. Also, Solverlight can be very compelling technology to AJAX. Using Flash with Silverlight can be a big competitor to AJAX when it comes to videos and animations. On the other hand Sliverlight can integrate with AJAX, and create a user-friendly interface that any web user can hope for. For creating a great animation and dynamic content in any web applications silverlight can utilize AJAX to create such interface for user to enjoy and the capability of the silverlight can be extended. Silverlight can’t replace AJAX; since both technologies are exist to improve the user experiences instead of being an exclusive technology to be used.

While AJAX is consists of many technologies and programming languages, JQuery is another lightweight library of JavaScript that target the interaction with HTML elements. One important fact about AJAX is that it can’t be utilized with simple HTML since the HTML doesn’t allow the changing of the page once it has fully loaded. Also with AJAX, you need a client side scripting language that allows the detection of the user and modify the elements on the page accordingly. JQuery and AJAX can be used together to provide the user interface that can be more interactive. Web developers need to have a full understanding of JQuery structure to be able to use it; on the other hand, inAJAXdevelopers need to know how to use the interface of theAJAXcontrols. Also, while JQuery is a client scripting library, AJAX is a combination of technologies used to enable asynchronous data transfer.

Conclusion

AJAX is a technique that employs different technologies and languages such as JavaScript, DHTML, and XMLHttpRequest to provide the dynamic content on the web applications.AJAXeliminates the traditional architecture where the user has to wait for the entire web page to reload to see the new result from the server response.

AJAXimplementation in the web development will add a lot of benefits to any organizations since the time consuming to wait for the page to reload is eliminated by implementing a technique such asAJAX. Bandwidth usage will be reduced and that can add great benefits to any organization. Reducing the number of steps of reaching the result of any requested data can reduce the time consuming within any organization to do any tasks over the web.

Finally, the performance of any web application can be improved by using such technique. Also, using other technologies such as Silverlight, and JQuery can improve the dynamic and the animation of any web application, and improve the user interface.

References

Anglin, T. (2009) AJAX, RIAs, and the Future of Web Development [Online]. Available from:  http://www.drdobbs.com/web-development/220301564 (Accessed: 27 March 2010).

DifferenceBetween.net (2009) Difference Between JQuery and AJAX [Online]. Available from: http://www.differencebetween.net/technology/difference-between-jquery-and-ajax/ (Accessed: 27 March 2010).

Frank, J. (2005) IS AJAX Here to stay? [Online]. Available from: http://www.xml.com/lpt/a/1622 (Accessed: 27 March 2010).

Garrett, J. (2005) AJAX: A new Approach to Web Applications [Online]. Available from: http://www.javalobby.org/articles/ajax/ (Accessed: 27 March 2010).

Interakt (2005) Simplifying Web Development [Online]/ Available from: http://www.interaktonline.com/support/articles/Details/AJAX%3A+Asynchronously+Moving+Forward-Why+use+AJAX%3F.html?id_art=36&id_asc=309 (Accessed: 27 March 2010).

Meriaz, Y. (2006) Back to the Future with AJAX [Online]. Available from:  http://www.drdobbs.com/web-development/184407879 (Accessed: 27 March 2010).

Stewart R. (2007) Is Silverlight a Flash competitor or an Ajax Play? [Online]. Available from: http://blogs.zdnet.com/Stewart/?p=351 (Accessed: 27 March 2010).

Whie, A. (2010) Measuring the Benefits of AJAX [Online]. Available from: http://www.developer.com/xml/article.php/3554271/Measuring-the-Benefits-of-Ajax.htm (Accessed: 27 March 2010).

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: