First thoughts on MSAjax (Atlas) Beta 1
I spent a little time this morning looking over documentation for the new MSAjax Beta 1 bits. Although it's great to see the product moving forward toward release, my first reaction is a bit of disappointment.
As Scott describes, MSAjax has been split into a "Core" component, which defines the base client and server-side framework that will ship with RTM, and a "Value Add" component, which basically includes things that were in previous CTPs but didn't make it into the Core. There's a feature matrix in the CTP-to-beta migration whitepaper which describes what's in Core and what's in Value-Add. If were to summarize the contents in a single phrase, it would be this - server-side AJAX wins, client-side AJAX loses.
What do I mean by that? Most of the super-cool client-side script capabilities in the previous CTPs are in the Value-Add component, not the Core. The various UI glitz behaviors like drag drop, floating, hover, popups, and opacity - not in Core. Virtually all of the controls, extenders, and behaviors - not in Core. XML-Script, the toolable, declarative, XAML-for-Javascript goo - not in Core.
Don't get me wrong, there's still lots of client-side Javascript framework-y stuff in MSAjax beta 1. But the focus seems to be clearly on UpdatePanel and Extender controls. For people hoping to do much with MSAjax without using ASP.NET - well, there isn't much there there, as far as the Core is concerned. This is unfortunate - isn't that whiz-bangy UI stuff part of why people dig Ajax? While the UpdatePanel is a nice gateway drug into the world of AJAX, I've always thought that Microsoft over-emphasized it in the past. You won't be building Google Maps with UpdatePanels. You won't be build Gmail with UpdatePanels. To do the really slick stuff, you need more. Perhaps the Control Toolkit folks will be picking up more of the responsibility here.
The roadmap for how and when Value-Add becomes Core is still unclear to me. Similarly with the license - does Value-Add have a Go-Live license? Can we redistribute it? If we end of having to wait for Orcas to work with it in production, and worse if it requires the next version of the framework...well, that would be a major bummer.