We recently shipped Web.UI 2006.2. The second major release of Web.UI this year includes a brand-new platform build: Web.UI for ASP.NET AJAX. However, no new controls were added to the suite this time around. I would like to take this opportunity to provide additional background information, as well as explain why we think that our direction will bring maximum value to our customers.
A Brief Walk Down Memory Lane
Nearly five years ago Microsoft reshaped web development with the release of ASP.NET. This was a powerful new server-centric development framework, drastically different from its predecessor - ASP.
One of the most interesting new concepts introduced with ASP.NET were server controls: reusable pieces of web logic and UI that developers could easily include in their pages and program against - in a very natural, object oriented, and event driven way. Even though a fair number of good server controls shipped in the box with v1.0 of ASP.NET, this new technology sparked an explosion of 3rd party component development. There is a number of companies that successfully add value to the platform by building ASP.NET server controls today.
The Introduction of ASP.NET AJAX
We think that web development is about to be reshaped again. Driven by consumer demand for richer and more responsive web experiences, Microsoft has created a comprehensive client-side framework: ASP.NET AJAX. The core portion of ASP.NET AJAX includes: a JavaScript type system, a networking and JSON serialization stack, AJAX server controls for partial page rendering, application services features (profile & authentication), a client-side application model, and - of particular interest to us - a model for creating client-side components and controls.
So, what does all of this mean to an ASP.NET developer today?
The upcoming release of ASP.NET AJAX will be a significant event for all ASP.NET developers because it introduces a real framework for client-side development. This framework will come with powerful baseline features and it will be fully supported (ASP.NET AJAX comes with Microsoft's standard 10 year, 24-7 support license).
Having a standard client-side framework opens up a world of possibilities. Things like calling a web service from your JavaScript code, serializing a server-side object for manipulation on the client, or doing partial page rendering through AJAX callbacks will all become mainstream web development techniques. This will change the responsiveness and the feel of ASP.NET applications in a profound way.
In contrast to the big paradigm shift from ASP to ASP.NET, buying into the latest web technology won't require rewriting your applications from scratch this time around. On the contrary, ASP.NET AJAX was designed to work on top of ASP.NET 2.0. It is extremely easy to incrementally add richness to your existing apps by simply including a reference to the ASP.NET AJAX assembly and applying the new features on selected pages. The ASP.NET AJAX UpdatePanel control is particularly handy for converting existing postback-based pages to the more efficient AJAX-style model.
Finally, one of the most exciting aspects of ASP.NET AJAX is the new model for creating client-side components and controls. A unified way of defining classes, namespaces, object properties, methods, and events, combined with the included base classes (Sys.Component and Sys.UI.Control) brings structure and form to JavaScript code reuse. Much like server controls introduced with ASP.NET, ASP.NET AJAX client-side components have the potential to significantly boost developer productivity and bring a whole new set of features to the mainstream.
ComponentArt Web.UI for ASP.NET AJAX
Recognizing this new opportunity, ComponentArt has invested considerable resources over the past year to develop new web user interface technology that can truly take advantage of the advanced features that ASP.NET AJAX offers. As a result of this work, ComponentArt Web.UI 2006.2 introduced industry's first suite of UI controls built on top of the ASP.NET AJAX client-side component model.
These controls expose extensive client-side APIs, and feature a unique ability to be programmatically modified on the client. This means that adding / removing / modifying menu items, treeview nodes, grid rows, etc., is now possible on the client - with immediate refreshing of the screen. Of course, client-side controls always live in the context of a server-side web application, so all client-side changes have to be automatically persisted to the server-side object state when a postback or a callback occurs.
We consider this to be a significant step forward in extending the richness of web applications. A whole new class of operations no longer require roundtrips to the server, which dramatically improves application responsiveness and user experience.
Our goal was to deliver the richest set of controls that are truly built for ASP.NET AJAX from the ground up. The initial industry feedback we have received has been overwhelmingly positive, which leads us to believe that we are on the right track.
Adding New Controls to the Web.UI Suite
The magnitude of the work needed to develop the new user interface technology described above has slowed down the pace of adding new controls to the suite. However, we are now quite happy with where we stand in terms of core technology, and we are focusing on building new Web.UI controls.
The initial set of controls to be added to the suite is outlined on our Web.UI product roadmap page. That's just the beginning; we will continue to rapidly add new controls (as well as extend the baseline feature set of the existing controls) throughout next year.
It should be noted that applying our existing technology to develop new controls is now fairly routine work, involving significantly less risk than the work we have done to develop the technology itself.
Immediate and Long-term Value for Customers Staying With ASP.NET 1.x
The new client-side API described above is also available with Web.UI 2006.2 for ASP.NET 1.0. The API is accompanied with our new state-of-the-art client-side API reference, which is also available for all platform builds.
Finally, as stated on our product roadmap, new controls will be added to all three platform builds simultaneously. Therefore our customers who don't immediately embrace ASP.NET AJAX will not be left behind.
Conclusion
If you haven't had a chance to try out ASP.NET AJAX yet, we encourage you to do so, especially if you are already using ASP.NET 2.0. The framework is now feature complete, has a stable API, and its full release is expected by the end of the year. It's a great time to get a head start on the next big wave of Microsoft's web development technology.
We believe that with the imminent release of ASP.NET AJAX and ComponentArt Web.UI for ASP.NET AJAX, our customers will have the most powerful set of tools for building rich web applications available anywhere.
As always, your feedback is welcome and appreciated.