www.codinghillbilly.com   kyle.baley.org  Subscribe / Contact
 
 
 
 
LATEST POSTS
Monday, May 29, 2006

The Atlas UpdatePanel is amazing. I've been enamored pretty much since I saw my first demo on it. This isn't like the demos you've seen on ASP.NET 1.0 dealing with DataConnections and DataAdapters. You know the ones: they'd drop a connection, an adapter and a dataset on the page, wire them all up and say, "Look how easy!". The problem there is that no one outside of a student facing a serious deadline would build their applications like that.

But the UpdatePanel not only makes a great demo, it is genuinely a better way to add AJAX to your applications. There is such little effort required to get a whole lot of benefit.

The idea behind the UpdatePanel is that you wrap it around existing pieces of your page, set it to trigger on certain events and....well, that's it. Atlas takes care of the details: loading the XMLHTTP object, setting up the asynchronous call, ensuring the readystate is set to 4, checking the status of the request, etc, etc. No changes to the code-behind required. No decorating your web services. No special Atlas versions of the ASP.NET controls.

In a previous post on the subject, I claimed it would be useful mostly for converting existing applications to use AJAX. I'm backtracking now. It is still great for that purpose. But I have no problem recommending it for new applications either. Two main reasons for using AJAX is to make your application more responsive (or, more importantly, making it APPEAR more responsive) and to reduce the network traffic that comes with regenerating an entire page which each postback. The UpdatePanel accomplishes both of these objectives. Yes, you have more control and can get greater bandwidth savings doing it yourself. But balance that with the cost of a developer's time to develop it (and for someone to maintain it).

Incidentally, I've also learned that it is the Atlas ScriptManager that ensures only the delta comes back from the server. Apparently, it overrides the Page's Render method. Why can't I think of these things?

Comments are closed.

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Copyright © 2010 Kyle Baley. All rights reserved.
 
CATEGORIES
.NET General (18) alt.net (4) altnetconf (9) ASP.NET AJAX (40) ASP.NET MVC (29) Bahamas (1) Bahanet (9) BDD (1) Brownfield (18) Career (9) Castle (1) Code coverage (1) Coding Style (6) Communication (1) Community (18) Conscientious Coding (34) Continuous Integration (11) dasBlog (12) Development (16) DevTeach (4) Domain (2) Environment (4) Estimating (1) Featured (14) Flamingo (10) Games (1) Google App Engine (2) GWT (5) Hardware (6) Java (1) Javascript (7) Linq (2) Livelink (6) Lucene.NET (2) MbUnit (1) Metrics (1) Miscellaneous (24) Mocking (4) NAnt (4) NHibernate (12) NInject (1) Office (3) Office Development (6) Open Rasta (1) Patterns (5) Presenting (13) Professional Development (15) Refactoring (10) ReSharper (11) REST (2) S#arp Architecture (5) Security (3) Software (11) Sundry (18) TDD (19) Tools (21) User Interface (5) Utilities (8) Visual Studio (8) VSTO (1) Web development (12) Windows (3) Working Remotely (16) Workplace (3) Writing (4)
 
LATEST POSTS
 
POPULAR POSTS
 
 
ARCHIVE