重大消息:微软首次正式支持第三方开源产品:jQuery

【原文地址】jQuery and Microsoft | jQuery和微软
【原文发表日期】 Sunday, September 28, 2008 11:32 AM

jQuery 是个轻量级的开源JavaScript库(只有15kb大),在相当短的时间内,已经成为网上最受欢迎的JavaScript库之一。

jQuery如此受欢迎,有很大一部分是因为它允许你用最少数量的代码就能非常优雅地(且非常有效地)找出和操作HTML元素。jQuery是通过一个非常棒的“selector” API来实现这个的,该API允许开发人员查询HTML元素,然后对它们施加“命令(commands)”。jQuery命令的一个特征是,它们可以“串连(chained)”在一起,这样,一个命令的结果可以转而注入到另一个命令中去。jQuery还包含了一套内置的动画效果APIs,这些APIs可以用作命令之用。这样的组合允许你只要击键几次就可以做一些非常酷的事情。

例如,下面的JavaScript用了jQuery找出页面上所有拥有一个CSS类为 "product" 的 <div> 元素,然后使用动画效果慢慢使它们消失:

另一个例子,下面的JavaScript用了jQuery找出页面上一个特定的id为"datagrid1"的<table>,然后获取datagrid中的每隔一行的<tr>,给这些<tr>元素设置一个CSS类为"even",用来设置隔行的背景颜色:

[注意:这两个例子都改变自优秀图书《jQuery in Action》 中的代码片段]

一直以来,许许多多开发人员要求我们在ASP.NET AJAX中添加象上面这样的元素选择和动画效果操作的功能,这些支持其实早就作为提议的功能列在我们几个月前发表的《ASP.NET AJAX 路线图》中了。但当开发团队开始研究实现时,他们很快就意识到jQuery对这些场景的支持已经非常出色,而且围绕着jQuery已经建立有一个巨大的生态系统和社区。jQuery库在同一个页面上也与ASP.NET AJAX和 ASP.NET AJAX Control Toolkit协作良好。

我们想,与其复制这些功能,原封不动(as-is)地使用jQuery,将其作为VS/ASP.NET中的一个标准的,受支持的库不更好吗?然后我们可以将精力集中在建造充分利用jQuery的新功能上。我们给jQuery开发团队发了信,看他们对此是否有兴趣,我们很快收到回复,他们也觉得这是个非常有趣的主意。

对jQuery的支持

今天,我非常兴奋地宣布,从此以后,微软将把jQuery和Visual Studio一起发布。我们将把jQuery JavaScript库原封不动地发布,不会生成分叉或改变jQuery主干的源代码。相关文件会继续在现有的jQuery MIT许可下使用和发布。

我们还将发布intellisense注释版本,在设计时提供很好的Visual Studio intellisense和帮助集成。例如:

在有串连的命令时:

jQuery intellisense注释支持将能在几个星期后免费下载(该支持可以在VS 2008 SP1和免费的Visual Web Developer 2008 Express SP1下工作)。新的ASP.NET MVC也将发布jQuery,会将jQuery库默认加到所有新的项目中。

从今年稍后开始,我们还将把微软的产品支持扩展到jQuery,这将允许开发人员和企业每周7天/每天24小时都可以向Microsoft PSS(产品支持服务)电话求助和开设jQuery支持案子。

以后,我们将把jQuery作为类库之一,用来在ASP.NET AJAX控件工具包中实现高层次的控件,以及在ASP.NET MVC中实现新的Ajax服务器端辅助方法。加入ASP.NET AJAX的新功能(象客户端 模板 支持)也将设计来与jQuery完美集成。

我们还计划向jQuery开源项目贡献测试,缺陷修补和补丁。所有这些都将经过标准的jQuery补丁评估(patch review)过程。

结语

能与jQuery开发团队合作,我们非常高兴。jQuery是个极棒的类库,是我们认为能让ASP.NET和ASP.NET AJAX开发人员受益匪浅的东西。我们期待它将与Visual Studio和ASP.NET完美结合,能给更多的开发人员带来好处。

想了解关于今天这个宣布的细节,请参阅jQuery开发团队博客John Resig的贴子。Scott Hanselman也即将发表一个很好的教程,展示jQuery与ASP.NET AJAX(包括新的客户端模板引擎),以及ADO.NET数据服务(是在.NET 3.5 SP1中发布的,以前的代号名为“Astoria”)的集成。

希望本文对你有所帮助,

Scott