Client-centric vs. server-centric programming in ASP.NET "Atlas"
ASP.NET “Atlas” offers developers, primarily, two ways to develop AJAX applications. For the sake of this post I’ll call them the “server-centric” and “client-centric” approach. So which one should you chose? The answer, as with all things software, is of course “It depends.” The goal of this blog is to introduce you to both. This post will be followed by a series of blogs/screencasts highlighting the “server-centric” approach. I’ve already demonstrated the “client-centric” approach through my Mashup 101: Virtual Earth and ASP.NET Atlas (Part II) blog/screencast. However, once I am done with the “server-centric” series, I will drill into the “client-centric” approach (which will include another series of blogs/screencasts).
Before I explain each, it is important to understand that the “complete” ASP.NET “Atlas” framework consists of both new server side as well as new client side bits. Here’s a high level view of the architecture of the framework:
I put the word complete in quotes because it is possible to use the “Atlas” Client Script Library without ASP.NET on the server. Shanku Niyogi shows an example of how to accomplish this with PHP here. However, as you will see, there are many compelling reasons to leverage the server bits (even if you decide to use the “client-centric” approach).
I suspect most developers will start AJAX enabling their ASP.NET applications using the “server-centric” approach first. Many may never use the “client-centric” approach. It just depends on how adventurous you get with your ability to create compelling new user experiences previously reserved for those in the “AJAX Know.”