Microsoft recently announced plans to adopt jQuery as part of its official development platform. The inclusion of jQuery provides more features to ASP.NET developers. Here's a closer look at the combination and how jQuery may work within an ASP.NET application.
JQuery's features are beyond the scope of this article. For more information, check out the jQuery Web site; the site sets it apart from other frameworks, as it provides excellent documentation and example code.
ASP.NET and jQuery
Microsoft plans to integrate the JQuery library into both the ASP.NET Web Forms and ASP.NET Model View Controller (MVC) frameworks. The delivery model is the Microsoft AJAX Framework, which is a combination of ASP.NET AJAX and jQuery. The best features of both will be utilized to provide a framework for building powerful AJAX applications.
ASP.NET AJAX provides excellent features for working with AJAX requests, while providing plenty of components and controls (along with the AJAX Control Toolkit) for building AJAX enabled interfaces.
On the jQuery side, the features of selectors, animations, and plugins are utilized. Selectors allow you to easily grab elements from a DOM and manipulate them. The animation features of jQuery are excellent and easy to use. The plugin architecture is very powerful and has a loyal following, with many freely available plugins that expand the jQuery library.
With the adoption of jQuery, it will be fully integrated into future versions of Microsoft's flagship development environment Visual Studio. The integration will include IntelliSense support, making it much easier to utilize the jQuery library. jQuery will make its first appearance in ASP.NET MVC.
It is important to note that Microsoft has no plans to take over or build its own version of jQuery. The company will utilize the jQuery library as-is under its MIT license. However, Microsoft does plan on actively contributing to jQuery, so who knows how future jQuery development may be influenced.
As I write this article, the inclusion of jQuery within ASP.NET is not available in any form, but you can easily download the library from the jQuery site and put it to use. Once downloaded, the jQuery source file is installed on the Web server and may be referenced with the following line:
When working with ASP.NET with AJAX support, you can use the ScriptManager control to bring the jQuery library into the page, as the following snippet illustrates:
<asp:ScriptManager id="sm" runat="Server"><Scripts>
<asp:ScriptReference Path="jquery.js" />
Once included or referenced, it is available for use within that Web Form.
The following example was given during a recent presentation. The code sets the background color (via CSS) for all textboxes on the page. It uses a jQuery selector to grab all textboxes with the CSS property used to manipulate the background color.
More to come
While this article covers Microsoft's announcement regarding jQuery, the actual delivery of the technology remains to be seen with future versions of Microsoft products. On the Visual Web Developer Team Blog, Jeff King promises an updated IntelliSense file for Visual Studio 2008.
You can get up and running with jQuery in Visual Studio 2008 via the Visual Studio jQuery download. Channel 9 has a great tutorial about jQuery and ASP.NET. But the best way to get acquainted with jQuery is to dive into it using your ASP.NET applications.
An interesting combination
I know many developers who have been using jQuery within their ASP.NET applications for a long time. They are excited to have jQuery fully supported within the ASP.NET platform.
I find it interesting that Microsoft chose to go with jQuery as opposed to building its own solution. The power of open source software is validated by an industry behemoth. Of course, Microsoft will still push its CodePlex site for its own version of open source when and where they can, but it makes me wonder what other open source tools and libraries Microsoft may adopt in the future.
Tony Patton has worn many hats over his 15+ years in the IT industry while witnessing many technologies come and go. He currently focuses on .NET and Web Development while trying to grasp the many facets of supporting such technologies in a production environment on a daily basis.