Thursday, July 03, 2008

Microsoft releases (big) ASP.NET AJAX road map

Microsoft has just published a new, huge road map for ASP.NET AJAX. I know?! After all of this time being fed bits and pieces from many different sources to stitch together ASP.NET AJAX, it turns out there is actually a road map for these features and tools. Or, at least there is now. The published road map is loaded (clocks-in at 13 pages) with interesting ideas and proposals for ASP.NET AJAX v-Next and beyond, so I highly encourage you to take a minute to review it if you're an ASP.NET developer. If you're short on time, though, I've done the reading for you and here are some highlights:

  • MS is going to bring some order to the release schedule of ASP.NET AJAX, it's tools, and it's controls by moving towards more "normal" CTP, Beta, RC release events
  • MS is going to add many features to its client-side scripting libraries, further imitating the features of libraries like jQuery. CSS DOM selectors, Chainable DOM generation, and CSS-based event targeting are all proposed enhancements.
  • MS is going to add "flexible" drag & drop and animation frameworks to the client libraries (a la jQuery, YUI, etc.)
  • MS is going to build client-side data source controls (!) to enable complete client-side data operations. The controls will have corresponding server controls for easy setup.
  • MS is going to invest heavily in the Ajax Control Toolkit with plans to add more complex controls in to the suite. Proposed controls include (quoted from road map):
    • Grid: a client-side, templated grid control with client-side sorting, paging, and editing
    • Treeview: a client-side, tempalted and web-service aware tree with a full client-side object model
    • Upload: an upload control that works outside of full postbacks with progress monitoring
    • Rich Text Editor: a simple, cross-browser and extensible rich text editor
    • Chart: simple and extensible charting, possibly based on Silverlight
  • MS is going to ensure ASPNET AJAX compatibiliy with ASPNET MVC and other non-Microsoft Ajax frameworks/client-side libraries
  • MS is going to deliver a number of improved JavaScript dev tools, including improved IntelliSense and new JavaScript Build Tools (to aggreage, minify, etc. JS code at build time).
This obviously isn't everything from the 13-page road map, but rather a Reader's Digest version. On the surface, Microsoft's goals look ambitious, but they certainly sound like they'll benefit the ASP.NET developer community if met. And while most of the plans in the new road map represent v-Next ambitions, Microsoft isn't aiming to deliver everything covered ASP.NET AJAX v-Next. The following chart summarizes Microsoft's high-level release goals.

You can see that the client-side UI controls are "last" on the list right now, and everything is at least "likely" to make v-Next. As a component vendor, I find it interesting that Microsoft is choosing to wade-in more heavily to what has traditionally be a 3rd party supplied UI market. While 3rd parties like Telerik will leverage their agility and close relationship with customers to always build richer, higher performance, and more complete UI controls than Microsoft, you can never ignore a move like this that creates a "free option" from the creator of the framework. Time will tell if this is a good move for Microsoft or not.

In the mean time, what do you think? Should Microsoft try to deliver more advanced controls like client-side Grids and Treeviews or should they leave that to 3rd parties? Also, what do you think of Microsoft's ambitious plans for ASP.NET AJAX? Sound-off in the comments and don't forget to give Microsoft some feedback, too!

Read the ASP.NET AJAX Road Map now


Anders M. said...

I think MS should acquire Telerik ;-)

Anonymous said...

There are plenty of open-source APIs / controls already. Now we have to wait for MS to write theres, and it will take forever and there be 12 betas and it will harder to use than everything else and you won't be able to reuse it on your php porjects etc etc

Am getting so fed up of MS approach to the web. They are constantly playing catch up but insist on rewriting everything.

And it's funny because we're on version 3.5 of .net and they still don't can't write a radio button that works properly in a repeater!

Ps: sorry for the rant, I just had to let it out. :)


Todd Anglin said...

@Anders- Yikes! I thought you still wanted to get good controls on a frequent (and regular) update cycle.

@Pete- I hear ya. Let it out- it's good for the programmer soul. I will add that I think MS is doing a much better job with its new development in building platforms that "play nice" with other technologies (like PHP, Ruby, etc.), but I guess it is all relative. Hopefully we can look forward to more improvement in the future.


Anders M. said...

Yes Todd - and Telerik do provide that. Hence my winked-smiley-face; But the fact is, that when it's MS - it becomes a standard. Even if it's a mediocre solution (e.g. checkout the whole ADO EF discussion).

That said - one of the advantage of the AJAX Control Toolkit - is that they can be used JS only; No need for ASPX markup, so they can be created dynamically byJS only..

Btw - on another node: I'm a (was) bit confused about the planed releases - but I just saw that the roadmap (for the ASP.NET AJAX) has been updated. I presume that the ASP.NET controls are (still) your flagship? In that case I'd personally like to see more blogging on that front - because you really stand out hefty with that product line (ALL the controls and skins).

Keep up the great work :-)

Björn said...

Hello Tod

Thanks for your summary and your thoughts. I always appreciated Microsoft's strategy to provide basic functionality in form of shipped controls and components. More sophisticated controls should be deployed by 3rd parties (when they are better).

I have to say that I like the direction of the AJAX future development. As always, other good ideas are wrapped and integrated. But why not? I saw so many ASP.NET applications built with a plenty of different Javascript/AJAX frameworks including jQuery & Co. All these basic features must be part of the framework. Another sample is the client-side data source control which is compliment to Google (Google Gears). These are basic features that must be part of a full framework.

But fully featured grid controls? Charting and Rich Text? That should be reconsidered. :-)

Anyway, keep up the good work!

Todd Anglin said...

@Björn- I agree that the framework should be improved. In fact, I'm a big fan of most of the proposed changes, especially the client-side data source (don't confuse it with an offline-data source like Google Gears) and the proposed improvements in the client-side libraries.

As a developer, I love free new stuff. As a MS Partner and ISV, I'm weary. :)