Microsoft Adopts Open-Source jQuery JavaScript Library

By Darryl K. Taft  |  Posted 2008-09-28

Microsoft Adopts Open-Source jQuery JavaScript Library

In big news for its developer division and a huge nod to its burgeoning support for open-source software, Microsoft has announced its plans to support the jQuery open-source JavaScript library.

Not only will Microsoft support the jQuery library, but the software giant also plans to ship it as part of its Visual Studio tool set at some point, company officials said. Microsoft announced the news on Sept. 28.

The move to support jQuery comes less than a month before the Microsoft Professional Developers Conference, which will be held in October in Los Angeles, and bodes well in terms of what kind of news we might be able to expect at the PDC.

jQuery is a lightweight open-source JavaScript library that in a relatively short span of time has become one of the most popular libraries on the Web, said Scott Guthrie, Microsoft corporate vice president, in a blog announcing Microsoft's support of jQuery. John Resig, the creator of jQuery, who also is a chief evangelist at Mozilla, said Microsoft joins a long list of jQuery users, including Google, Intel, IBM, Intuit and Reuters. Resig also announced that Nokia, too, has adopted jQuery as of Sept. 28.

Resig, who is received with rock star status at open-source conferences, said in a blog post:

"Both Microsoft and Nokia are taking the major step of adopting jQuery as part of their official application development platform. Not only will they be using it for their corporate development but they will be providing it as a core piece of their platform for developers to build with."

Moreover, Resig said:

"Microsoft is looking to make jQuery part of their official development platform. Their JavaScript offering today includes the ASP.NET Ajax Framework, and they're looking to expand it with the use of jQuery. This means that jQuery will be distributed with Visual Studio (which will include jQuery intellisense, snippets, examples and documentation).

Additionally Microsoft will be developing additional controls, or widgets, to run on top of jQuery that will be easily deployable within your .NET applications. jQuery helpers will also be included in the server-side portion of .NET development (in addition to the existing helpers) providing complementary functions to existing ASP.NET AJAX capabilities."

As part of his discussion as to why Microsoft sought out jQuery, Guthrie said in a blog post:

"A big part of the appeal of jQuery is that it allows you to elegantly (and efficiently) find and manipulate HTML elements with minimum lines of code.  jQuery supports this via a nice 'selector' API that allows developers to query for HTML elements, and then apply 'commands' to them.  One of the characteristics of jQuery commands is that they can be 'chained' together -- so that the result of one command can feed into another.  jQuery also includes a built-in set of animation APIs that can be used as commands.  The combination allows you to do some really cool things with only a few keystrokes."

Microsoft to Distribute jQuery Library As Is

But what is perhaps most important about the Microsoft announcement is that not only will Microsoft be shipping jQuery with Visual Studio, but the company will distribute the jQuery JavaScript library as is, Guthrie said. The company will not be forking, or changing, the source from the main jQuery branch. And the files will continue to use and ship under the existing jQuery MIT license, Guthrie said.

The jQuery intellisense annotation support will be available as a free Web download in a few weeks -- and will work great with VS 2008 SP1 and the free Visual Web Developer 2008 Express SP1, Guthrie said. "The new ASP.NET MVC download will also distribute it, and add the jQuery library by default to all new projects," he said.

"We will also extend Microsoft product support to jQuery beginning later this year, which will enable developers and enterprises to call and open jQuery support cases 24x7 with Microsoft PSS [Product Support Services]," Guthrie said.

Moreover, "Going forward we'll use jQuery as one of the libraries 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," Guthrie said. "New features we add to ASP.NET AJAX (like the new client template support) will be designed to integrate nicely with jQuery as well."

Scott Hanselman, a senior program manager in Microsoft's Developer Division, blogged that the move to support jQuery is "cool because we're using jQuery just as it is. It's Open Source, and we'll use it and ship it via its MIT license, unchanged. If there are changes we want, we'll submit a patch just like anyone else. JQuery will also have full support from PSS (Product Support Services) like any other Microsoft product, starting later this year. Folks have said Microsoft would never include Open Source in the platform, I'm hoping this move is representative of a bright future."

In an interview with eWEEK, Resig said, "One thing to consider, as well: This is the first time that Microsoft will be providing support for a non-Microsoft or an open-source project. They really like the jQuery project and want to make sure that it succeeds."

In addition, Hanselman said:

"Visual Studio 2008 has very nice JavaScript intellisense support that can be made richer by the inclusion of comments for methods in third-party libraries. Today you can search the Web and find intellisense-enabled jQuery files hacked together by the community, but we intend to offer official support for intellisense in jQuery soon."

Despite Microsoft's strong vote of confidence to support jQuery, don't expect to see Resig wind up in Redmond working for the software giant.

"I'll be staying at Mozilla -- this doesn't affect my position there," Resig told eWEEK. "Microsoft will just be using, and supporting, the framework. We won't, explicitly, be lending any assistance -- at least not more so than we do for any of our other users [bug fixes, performance improvements]. By the same token, we will analyze any patches or contributions that we receive from them and deem them worthy of the project, or not."

jQuery Team Maintains Control

Indeed, the jQuery team still has complete control of the project and will continue to drive it based upon feedback from all our users, Resig said. "We're quite excited that Microsoft and Nokia have decided to become active parts of the community," he added.

Resig said both Microsoft and developers will begin to help contribute back to the jQuery project by proposing patches, submitting test cases and providing comprehensive testing against their run-times. "As with any contribution that comes into the jQuery project, it'll be closely analyzed, reviewed, and accepted or rejected, based upon its merits, by the jQuery development team -- no free ride will be given," Resig blogged.

"A significant level of testing will be added to the project in this respect," he said. "The jQuery test suite is already integrated into the test suites of Mozilla and Opera, and this move will see a significant level of extra testing being done on Internet Explorer and WebKit - above and beyond what is already done by the jQuery team."

In his post, Hanselman showed a demonstration integrating jQuery with ASP.NET AJAX (including the new client templating engine) as well as ADO.NET Data Services -- which shipped in .NET 3.5 SP1 and was previously code-named Astoria.

Regarding Nokia, Resig said:

"Nokia is looking to use jQuery to develop applications for their WebKit-based Web run-time. The run-time is a stripped-down browser rendering engine that allows for easy, but powerful, application development. This means that jQuery will be distributed on all Nokia phones that include the Web run-time.

"To start, Nokia will be moving a number of their applications to work on the run-time (such as Maps) and building them using jQuery. jQuery will become part of their widget development platform, meaning that any developer will be able to use jQuery in the construction of widgets for Nokia phones." 

Rocket Fuel