Serving medium size and large enterprises nationwide by building and customizing resourses planning, information and customer management solutions.

Ajax: A Fashion Trend or a Profitable Investment?

 

To be or not to be? That’s still the question for using Ajax in web development. The idea is to make web pages more responsive by exchanging only small amounts of data with the server so that the whole web page is not to be reloaded each time when the user requests a change. This is intended to increase the web page's speed, interactivity, functionality, and usability. In certain cases, however, Ajax may be pretty tough to deal with. Is taming of the shrew that easy?

One can’t but enjoy the advice given by a search engine with Google Suggest or an instant “travel” world-wide with Google Maps. You don’t have to wait for pages to reload as the changes happen almost instantly. Actually, Google Maps and Google Suggest are two examples of a completely new approach to AJAX-based web applications (stands for Asynchronous JavaScript + XML).

With great possibilities and enticing prospects (e.g. Ajax applications can be of any size, from the very simple, single-function to very complex and sophisticated ones, improved interactivity, usability, etc) there is also a number of “hidden rocks” during the development stage. How does Ajax approach interact with other web technologies, ASP.NET for example? Can catchy GUI and advanced navigation be combined with required functionality and minimizing load and response time? Are Ajax toolkits comprehensive enough to implement basic web features?

Below you will find answers to these questions and (it might be even of greater interest) particular examples of Ajax-based community portal Development issues.

As a matter of fact, the realization of this project is closely related to a number of challenges connected not solely with AJAX, but rather mainly with web application models created with ASP.NET. From a huge array of libraries we have chosen Microsoft’s AJAX.NET. Being fully compatible with ASP.NET, it also allows development of new components as well as modifying the existing ones. Besides, this very framework provides a perfect compatibility with the overwhelming majority of browsers and popular web services.

According to our client’s preferences, our first and foremost goal was to develop an advanced GUI. Implementation of floating windows is not a problem. In point of fact, the bottleneck is their simultaneous interaction. E.g. some data are displayed in two windows. If they are changed in one window, it is to happen in the other one as well.

That’s where another difficulty comes along: in ASP.NET every page builds a control tree related to a unique ID. For the portal to work well, the same tree must be built between clicks. We could not afford rendering all the windows inasmuch as the load of the server would have been enormous. To properly work with all windows we created a Blocks Manager. If, for instance, a User clicks on a button, then the whole tree is built, but only one window is loaded with data. Provided the update of the other window is required, just one method is applied by the system. To make it even more flexible, a similar Manager runs on a Client side as well. If a User closes the window and then reopens it, there won’t be any request to a web server. As a result, the load of the server and response-time are minimized.

Another point of attention was the creating of a contextual menu. It may sound pretty simple, but as a matter of fact none of realizations (e.g. Ajax Control Tool Kit, RadMenu, etc) of this basic GUI feature satisfied our requirements: a contextual menu can’t be initialized on a Client side, and on top of that they are often too “clumsy” (e.g. RadMenu from Teleric). Say, if we have a list of 10 elements with menus, then Teleric would create 10 contextual menus. But in our case we needed just one. The thing is, when HTML is generated, all data from menus is placed in the element attributes, to which this menu can be applicable. Thus, if two menu elements have View and Delete options available, and a third one just View and Edit, then what we do is create just one menu containing View, Edit and Delete. At the same time we hide Edit for the two elements and Delete for the one correspondingly. As a result, the amounts of data to be transferred as well as quantity of elements per page are significantly reduced, which in turn increases the speed.

To sum up, the question about advantages and disadvantages of Ajax is pretty relative. Indeed, with integrated CSS and JavaScript, improved interface and user interaction, Ajax comes up as a second breath for HTML. However, the question how long it is going to hold the advantageous position and whether any other technologies appear to more suitable, still remains undecided.

Learn more about

 Ajax    Antivirus    E-Business    E-commerce    Content Development     Domain Registration    Flash Design    Internet    Internet Marketing     Logo Design     Mobile Devices & Software   Offshoring    Outsourcing   Project Management    Search Engine   Software Solution   Software Development   Software Testing   VoIP   Wap Site Development   Web Development   Web Hosting   Business Application Development   Information System Development


Useful Links

Add your link