jQuery and the Future of JavaScript Frameworks in ASP.net Websites

JavaScript has long been regarded by many web developers as a necessary evil. It is essential in order to control many different types of client-side behaviors (including AJAX). However, since it is a client-based programming language with slight but very significant differences in implementation on different versions of the major browsers, it is a notoriously difficult platform to work with when working with requirements that include cross-browser compatibility. In order to make client-based programming using JavaScript easier for developers and to ensure a more consistent experience for the end-user, over the past few years different JavaScript frameworks have been released, like script.aculo.us, Prototype and jQuery (and many others). In general, these frameworks provide useful functions to web developers to simplify tasks like identifying DOM elements in a webpage, updating the UI and performing visual effects and allowing easy integration with AJAX, while at the same time ensuring consistent behavior across different browser platforms. One of the frameworks to gain a large following over the past few years is jQuery. It provides some innovative features like command chaining that can make it very easy to update different elements on a page in different ways, and includes a library of user interface widgets and is extendable through dozens of useful plugins. It is updated often and is open source.

For quite some time, ASP.net developers have been in a quandary when trying to use JavaScript frameworks like jQuery on ASP.net sites. ASP.net has its own set of built-in JavaScript functionality that are used throughout ASP.net sites. With the introduction of ASP.net AJAX (itself a JS framework), the amount of built-in JavaScript included with the average ASP.net page has increased, thus raising the likelihood that another JavaScript framework or library included in a page would introduce errors to the basic page functionality. So those who chose in the past to use non-Microsoft frameworks did so at their own peril. And as in the past Microsoft has been loath to have anything to do with third-party pieces of software (especially Open Source Software), there was little reason to think that the status quo in this area would be changing any time soon.

However, this all changed at the end of September when Scott Guthrie (MS VP who runs the ASP.net dev team, among other things) announced that moving forward jQuery will be shipping with Visual Studio. Visual Studio will be including the current production builds of jQuery (license unchanged) and will include Intellisense support. Additionally, in the future it will be “used to implement higher-level controls in the ASP.NET AJAX Control Toolkit, as well as to implement new Ajax server-side helper methods for ASP.NET MVC. New features [added to] ASP.NET AJAX…will be designed to integrate nicely with jQuery as well.” This is excellent news for ASP.net developers for a couple of different reasons: It means that jQuery will be fully usable and integrable with ASP.net websites (for some current examples of jQuery integration with ASP.net, see here, here or here). It also represents a shift in the corporate philosophy of Microsoft with regards to developer technologies, showing a new openness to using and promoting proven tools in a given technology (rather than copying the technology and attempting to compete against the original, as Microsoft has been wont to do in the past). Hopefully in the future, Microsoft will proceed with similar collaborative projects that will make ASP.net a more robust tool while helping to enrich the options for developers working on all platforms.

What do you think?  
Indicates a required field