ASP.NET AJAX 1.0 Released
I am really excited to announce that the final release of ASP.NET AJAX 1.0 (aka "Atlas") shipped this morning. You can download it here.
ASP.NET AJAX 1.0
ASP.NET AJAX 1.0 delivers a rich client-side AJAX library that provides cross platform, cross browser support for a core JavaScript type-system, JSON-based network serialization stack, JavaScript component/control model, as well as common client JavaScript helper classes. ASP.NET AJAX also delivers a rich server-side library that integrates AJAX functionality within ASP.NET, and enables developers to easily AJAX-enable existing ASP.NET 2.0 sites with minimal effort.
ASP.NET AJAX is available for free, and can be used with ASP.NET 2.0 and VS 2005. It is a fully supported Microsoft product, and is backed by a standard 10 year Microsoft support license (with Microsoft Product Support available via phone 24 hours a day x 7 days a week).
ASP.NET AJAX Control Toolkit
In addition to the fully-supported ASP.NET AJAX 1.0 release, you can use the more than 30 free ASP.NET AJAX enabled controls available within the ASP.NET AJAX Control Toolkit. The control toolkit is a shared-source collaborative project built together by a team containing both Microsoft and non-Microsoft developers (visit the CodePlex Project to learn more, or volunteer to contribute). All source for the controls is provided completely for free (with full re-use and modification rights).
The majority of controls within the ASP.NET AJAX Control Toolkit leverage the "Control Extender" pattern that the core ASP.NET AJAX library introduces, and which delivers a super powerful way to easily enable specific AJAX scenarios on a site with minimal effort.
For example, consider the scenario where you want to add a cool AJAX calendar picker to a page (note that the browser below is Opera):
To enable this with the ASP.NET AJAX Control Toolkit you can simply add a <ajaxToolkit:CalendarExtender> control to a page and point it at a textbox to store the date (no additional code required):
<ajaxToolkit:CalendarExtender ID="Calendar1" runat="server" TargetControlID="DateTextBox" />
The ASP.NET AJAX Control Toolkit will continue to grow and expand in the months ahead - with more controls, features (and bug-fixes) being added every month. The new version of the AJAX Control Toolkit that ships today adds support for 4 new controls to the Toolkit: <ajaxToolkit:CalendarExtender>, <ajaxToolkit:MaskedEditExtender>, <ajaxToolkit:TabContainer>, and <ajaxToolkit:AutoCompleteExtender>. You can try samples of them all out online here.
(Special thanks to Ron and Fernando for implementing the new Calendar, Tab, and MaskedEdit controls added this month).
ASP.NET AJAX 1.0 Source Release
In addition to shipping the source code for the ASP.NET AJAX Control Toolkit controls, we are also releasing all of the source code for the fully supported ASP.NET AJAX 1.0 release. Specifically:
We are releasing the client-side ASP.NET AJAX JavaScript library (which we also call the "Microsoft AJAX Library") under the Microsoft Permissive License (Ms-PL). This grants developers the right to freely customize/modify the library, as well as to redistribute the derivative versions of the JavaScript library for both commercial and non-commercial purposes.
To help with debugging and development, we are also releasing all of the source code for the server-side ASP.NET AJAX 1.0 implementation (including the UpdatePanel, UpdateProgress, ScriptManager, and Network Serialization code) under the Microsoft Reference License (Ms-RL).
Changes between the ASP.NET AJAX Release Candidate and RTM Build
We made a number of improvements and bug fixes between the ASP.NET AJAX Release Candidate and RTM builds. These included:
- Performance and scalability improvements for shared hosting scenarios.
- Globalization fixes to ScriptManager and ScriptResource handler to support date & number parsing and UI culture fallback.
- Updated ScriptResource handler to support automatic enabling/disabling JavaScript compression based on browser type.
- Support for substitution caching to enable more fragment caching scenarios.
- Additional bug fixes and overall robustness improvements.
More complete documentation covering all changes can be found on the http://ajax.asp.net website.
If you have installed previous versions of ASP.NET AJAX on your system, I recommend that you delete the cached VS schema files for control markup that VS maintains to provide HTML view intellisense. This will ensure that your HTML source editor Intellisense for the ASP.NET AJAX controls is correct and doesn't get lost (otherwise it might incorrectly use the old values from the Beta2 release and generate errors).
- With Windows XP you do this by deleting all files in this directory: c:\Document and Settings\[YourUserName]\Application Data\Microsoft\VisualStudio\8.0\ReflectedSchemas
- With Windows Vista you do this by deleting all files in this directory: c:\Users\[YourUserName]\AppData\Roaming\Microsoft\VisualStudio\8.0\ReflectedSchemas
Future Plans
While the core ASP.NET AJAX 1.0 release is now officially shipped, we are definitely not slowing down. :-)
All of the ASP.NET AJAX 1.0 features will be integrated directly into the next release of ASP.NET (codename: "Orcas"). Visual Studio "Orcas" will also provide client-side JavaScript intellisense, JavaScript compilation checking, and rich JavaScript debugging support for ASP.NET AJAX scenarios.
We are also already at work on the next ASP.NET AJAX release, and will continue to add new features and improvements to the supported ASP.NET AJAX core. You can already start using many of these new features with the ASP.NET AJAX Futures CTP (available for download now on the ASP.NET AJAX site - it also supports a "go live" license).
Summary
We are really excited about having the ASP.NET AJAX 1.0 release finally out. It will dramatically simplify adding rich AJAX functionality to ASP.NET 2.0 applications, and is going to significantly improve user experience for customers. We are really looking forward to seeing all the great applications you build with it!
Thanks,
Scott