[翻译]jQuery and Microsoft
译者注:这是 Scott Guthrie 2008年09月28日发布的博文
jQuery 是一个轻量级的开源JavaScript 脚本库(体积仅仅15kb),它在很短的时间已经风靡开发社区,成为网络上最流行的脚本库之一。
jQuery 的一大吸引力是,它允许您优雅(且高效)地用极少的代码行来查找和操纵 HTML 元素。这个功能缘于它良好的"选择器"(selector)API,允许开发者查询 HTML 元素,并且在它们上面运用"命令"。jQuery命令的特性之一是它们可以"串联"起来,所以一个命令的返回值可以提供给另一命令。jQuery 还包含一个内嵌的动画 API,可以作为命令使用。这些功能特性的结合让您能够使用很少的代码来实现很酷的效果。
例如,下面的 JavaScript 使用 jQuery 来查找页面中 class 属性值为"product"的所有 <div> 元素,然后使之慢慢消失。
另一个例子,下面的 JavaScript 使用 jQuery 查找页面中 id 属性值为 "datagrid1"的 <table> 元素,然后检索表格中间隔的<tr>,然后把这些 <tr> 元素的 Css class 属性设置为"even",这可以实现表格行背景色变化的"斑马线"效果。
[提示:这两个例子摘自超级棒的书《jQuery in Action》]
像上面例子的选择(selection)与动画(animation)操作,许多开发者希望我们添加到 ASP.NET AJAX 中,这项支持也正是我们几个月前公布的 ASP.NET AJAX Roadmap 中所列出的期许特性。我们的团队开始调研创建它时,很快地意识到 jQuery 对那些功能的支持已臻完善,并且它周围已经建成了一个巨大的生态系统和社区。跟 ASP.NET AJAX 和 ASP.NET AJAX Control Toolkit jQuery 一起在同一页面,jQuery库仍然能很好地工作。
与其重复这些功能,我们想,原样使用 jQuery (use jQuery as-is) ,在 VS/ASP.NET 中添加它,作为标准的、受支持的脚本库,然后我们集中能量创建基于 jQuery 的新功能,这不也非常好吗?我们发送邮件给 jQuery 团队试探他们对此的兴趣,很快收到了回复,他们认为这是个很有趣的主意。
支持jQuery
今天我很兴奋地宣布微软在将来的 Visual Studio 中会附带 jQuery。我们将原样(as-is)发布 jQuery JavaScript 脚本库,不会在 jQuery 的主枝上走分支或者修改它的源码,它的文件将基于现有的 jQuery MIT 协议下继续使用与发行。
我们同时会发布提供 Visual Studio 智能感知和设计时(design-time)集成帮助(help-integration)的智能感知提示(intellisense-annotated)版本,例如:
还有链接命令的感知提示:
jQuery 智能感知提示的支持将在几周后可以免费下载(可以在 VS 2008 SP1 或 免费的 Visual Web Developer 2008 Express SP1 下良好地工作)。新的 ASP.NET MVC 下载包将发布它,并且默认地添加jQuery 脚本库到每个新项目。
从今年年尾开始,我们还会扩展微软产品以支持 jQuery,这使得开发人员和企业~~~(译者注:后面不会翻译)(call and open jQuery support cases 24x7 with Microsoft PSS)
将来我们会让 jQuery 作为 ASP.NET AJAX Control Toolkit 实现高级控件的脚本库之一,还将在 ASP.NET MVC 中实现新的 Ajax 服务器端 helper 方法。我们添加到 ASP.NET AJAX 的新特性(如新的client template support)将被设计成很好地与 jQuery 集成。
我们还计划提供测试、bug 修复,且把补丁反馈回 jQuery 开源项目。这将会伴随标准 jQuery 的补丁核查过程(patch review process)。
结语
在此成为 jQuery 团队的合作伙伴,我们真的非常兴奋。jQuery 是一个出色的脚本库,并且我们认为它有益于 ASP.NET 与 ASP.NET AJAX 的开发者。我们期盼它与 Visual Studio 和 ASP.NET 良好地结合在一起工作,让它拥有更庞大的开发人群。
今天宣告的更多细节,请查看 jQuery 团队博客 John Resig 的博文。Scott Hanselman 还将发布一个好的教程 ,演示集成 jQuery 与 ASP.NET AJAX(包括新的客户端模版引擎client templating engine),还有 ADO.NET 数据服务(以前的代号是"Astoria",已经在 .NET 3.5 SP1 发行)。