Thursday, April 26, 2007

RadCallback vs. RadAjax vs. "Prometheus" Ajax

For many of you, your excitement for the new "Prometheus" Ajax is tempered by your well grounded caution for what will be involved in moving to the new Ajax Framework. Many of you, like me, remember the work done to upgrade our applications about a year ago when RadAjax replaced RadCallback. It took me a little more than a year to replace all instances of RadCallback controls in some of my larger projects, so I know this can be a long process and a good reason to pause when the next Telerik Ajax is introduced.

Thankfully, the transition to "Prometheus" Ajax from RadAjax is nothing like the transition from RadCallback to RadAjax. Unlike the previous transition, the APIs for "Prometheus" Ajax and RadAjax are virtually identical. That means the entire Ajax coding model you've spent the last year mastering for RadAjax can be carried straight forward to "Prometheus" Ajax. In many cases upgrading from RadAjax to "Prometheus" RadAjax will only require three steps:

  1. Add an ASP.NET AJAX ScriptManager to your page (or add one to your MasterPage and make this a one-time step)
  2. Change the reference on the page from RadAjax.Net2 to Telerik.Web.UI (or change the assembly reference in Web.Config/Machine.Config and make this a one-time step, too)
  3. Change the "radA:RadAjaxManager" tag to "telerik:RadAjaxManager"
That's it. If you use the "one-time" method for the first two steps above, updating your pages with RadAjax could be a simple search and replace process. Clearly, if you have programmatic references to "Telerik.WebControls" those will also have be updated to "Telerik.Web.UI". The change is simple, though, and doesn't require any of the major reworking that was necessary to move from RadCallback to RadAjax. A perfect task for your summer interns!

The biggest changes for "Prometheus" RadAjax are under the hood. Even though the API has not changed, "Prometheus" Ajax runs on a completely different client-side Ajax framework (specifically, Microsoft's ASP.NET AJAX). Switching to "Prometheus" allows you to take advantage of all the development effort that Microsoft invested in building ASP.NET AJAX and also opens up to you the wide world of ASP.NET AJAX enabled tools (such as the AjaxControlToolkit and the new "Prometheus" controls).

Like the transition from RadCallback, though, RadAjax and "Prometheus" RadAjax will be fully inter operable. You can use RadAjax to update new "Prometheus" controls and you can use "Prometheus" RadAjax to update existing RadControls. You can even use RadAjax and "Prometheus" RadAjax on the same page (though it would obviously be recommend to follow the easy steps to update your page before introducing both controls on the same page). The dev teams have worked very hard to make it as easy as possible to enable whatever upgrade environment you need as you adopt the new "Prometheus" Ajax controls. I think you'll find the transition to next the generation Ajax products to be very easy.

We know that upgrading something like RadAjax in your projects will take time and planning, though, so we're trying very hard to make your path as clear as possible. RadAjax will not be going anywhere anytime soon, with continuing product enhancements through the end of the year and full product support for years to come. "Prometheus" RadAjax is the future, though, so it is important to start planning your transition to this product now so you have plenty of time to smoothly upgrade and test your applications.

Now, about those summer interns...

P.S. An "official" RadAjax vs "Prometheus" RadAjax is now available on