There are a lot of great reasons for businesses to deploy their solutions as Web applications. While these reasons have changed over the years, some of the most critical ones remain. The chief is almost always the ease of deployment. Because there is no installer to be run on every client, there are also no headaches with drivers provided a compatible browser is available on the client.

Browser availability is definitely something we can take for granted these days, removing an early objection to Web applications over native programs. Versioning is also a dream with a Web application compared to a native one: just update the files on the Web server, and your new features are available to the world.

There are, of course, disadvantages with Web applications as well. Chief among these is that the user interface depends on network latency often held hostage to the quality of the connection between the browser and the Web server. ASP.NETThis architecture meant that early websites would collect as much information as possible before causing the postback to the Web server, denoted by the screen blink that can be so disconcerting to the user.

Screen refreshing aside, there are other big issues with this approach. If something goes wrong, the loss to the user is maximized instead of minimized. We have all filled out Web forms with lots of information, only to have something go wrong and force us to enter it all again when the page resets after the error. This caused developers and their managers to choose sides in the native application vs. Web application argument that still rages today. There are still drawbacks to browser-based applications, but these issues are mitigated by the techniques and technologies we now call AJAX.

AJAX origins
Google popularized the concept of leveraging JavaScript to make behind-the-scenes requests to Web services, then using the results to do partial updates to the browser with the introduction of Google Maps, but it was Microsoft that actually first used it in a widely distributed Web application, and as near as can be determined, Microsoft created the technique.

Dubbed AJAX by Google, it stands for Asynchronous JavaScript and XML. It allows the browser to retrieve information for partial page updates instead of the full, blink-inducing page postback. The positive effects of this technique are very easy to see in action with Google Maps, as sections of the map are refreshed and painted. Before Google leveraged AJAX, Microsoft used the same technology to provide a fantastic user experience in the Outlook Web Access Web client provided with Exchange. It was well ahead of its time, but apparently not on the road map for release as part of the developer toolkit.
Once Google brought the technique to light, Microsoft started to provide AJAX tools to work with Visual Studio. Even before then, it was possible to build ASP.NET solutions with seamless user-interface experiences based on the AJAX model, but only with some very strong skills in JavaScript and deep understanding of the way the browser works.

Soon after its introduction, AJAX became one of the major buzzwords of Web development. By shifting interactive functionality to the client and allowing behind-the-scenes communications with the Web server for partial page updates, Web-based systems became much less dependent on wholesale, round-trip page refreshes for their responsiveness. Component providers rushed to fill the space; in fact, Telerik vice president Chris Sells noted that his company’s first commercial offering was a set of AJAX-based controls named RadControls for ASP.NET AJAX. Since then, the ecosystem for .NET developer tools has become packed with offerings in this area, though many are using a variety of techniques and libraries.

AJAX Control Toolkit
Microsoft’s support for AJAX controls was an effort to catch up tp a thing that caught on by surprise. Eventually, like so many libraries and frameworks, it gave it a life of its own by making it an open-source project. This past January, Microsoft released an update to the AJAX Control Kit, including new chart controls. Available via NuGet and hosted on Codeplex, there are more than 40 controls with both basic and advanced functionality. These controls satisfy basic needs and act as a great starter kit.

About Patrick Hynds

Patrick Hynds is a Regional Director for Microsoft and president of CriticalSites.