新的官方 jQuery 插件提供模板、数据链接和全球化功能
随着 jQuery 项目的不断发展,开发者社区的需求也日益增长。作为一个项目,我们专注于构建最佳功能,并以可靠和开放的方式提供它们。与大多数开源项目一样,我们能够提供的软件在很大程度上要归功于许多志愿者的慷慨,他们捐赠自己的时间和编码技能,使 jQuery 和 jQuery UI 成为目前使用最广泛的 JavaScript 库之一。
在 3 月份的 MIX 2010 大会上,我们宣布微软已承诺通过代码贡献和资源支持 jQuery 项目。不久之后,微软发布了第一个 jQuery 插件供公众审查,该插件为 jQuery 社区提供了客户端模板功能。随后,他们又发布了第二个插件,jQuery 数据链接,它提供了数据同步功能,最近还发布了 jQuery 全球化插件,该插件为超过 350 种文化提供全球化信息,包括苏格兰盖尔语、弗里斯兰语、匈牙利语、日语和加拿大英语。
在七个月的开发过程中,jQuery 和微软团队密切合作,确保代码符合 jQuery 项目指定的最佳实践,并满足 jQuery 社区的特定需求。我们还确保任何贡献的代码都将以与 jQuery JavaScript 库相同的非限制性许可条款提供给 jQuery 社区。
官方 jQuery 插件
今天,我们很高兴地宣布,以下微软贡献的插件 - **jQuery 模板插件**、**jQuery 数据链接插件** 和 **jQuery 全球化插件** - 已被接受为 jQuery 项目的官方支持插件。作为支持的插件,jQuery 社区可以确信这些插件将继续得到增强,并与 jQuery 和 jQuery UI 库的未来版本兼容。
jQuery 模板和 jQuery Datalink 插件将由 jQuery 核心团队管理,而 jQuery 全球化插件将成为 jQuery UI 项目的一部分,从而为我们的丰富 UI 库提供扩展的全球化功能。此外,jQuery 模板插件中的功能将从版本 1.5 开始直接集成到 jQuery 核心库中。
文档和教程
为了帮助您立即使用这些插件,我们提供了 API 文档和教程,帮助您快速上手这些新技术。
API 文档
- jQuery 模板 API - https://api.jqueryjs.cn/category/plugins/templates/
- jQuery 数据链接 API - https://api.jqueryjs.cn/category/plugins/data-link/
- jQuery 全球化 API - 即将推出
教程
- jQuery 模板和数据链接
- jQuery 模板简介
- jQuery 模板在实际应用中的使用
- 没有使用 jQuery JavaScript 模板?您真的错过了很多
- jQuery JavaScript 模板教程:嵌套模板
可供下载
新插件的源代码可以在 Github 上找到,我们鼓励社区评估并增强其功能。新插件可立即下载,代码可以在此处找到
jQuery 模板 - http://github.com/jquery/jquery-tmpl
jQuery Datalink - http://github.com/jquery/jquery-datalink
jQuery 全球化 - http://github.com/jquery/jquery-global
新的贡献方式
我们感谢 微软 对帮助 jQuery 项目并为 jQuery 库提供新功能的承诺。这对两个团队来说都是一段令人难忘的经历,为未来的合作奠定了基础,并为满足 jQuery 社区的需求开辟了一条新路径。
请务必阅读微软联合发布的公告,其中概述了这项工作的历史以及这些贡献对微软和 jQuery 社区的重要性。
jQuery 模板、数据链接和全球化被接受为官方 jQuery 插件 - Scott Guthrie,微软开发部门公司副总裁
jQuery 模板现在是官方 jQuery 插件 - Boris Moore,微软
jQuery 模板在实际应用中的使用 - James Senior,微软
Web Camps TV #5 - 微软向 jQuery 贡献代码! - Channel 9 视频
真是个令人难以置信的消息!
谁会想到几年前微软会与一个开源项目密切合作并取得成功?
Scott Gu 和他的团队正在从内部彻底改变这家公司!
为什么你们要把模板功能集成到核心库中?jQuery 正在远离模块化吗?
在比尔·盖茨卸任后,一些好事正在发生。
我只是不明白它为什么比 John 最初的 micro-templating 移植版本大了 4 倍(没错,是 18.8 kb 对 4.5 kb)?
提供的功能并不多。
好消息。现在要等 Google 托管它了 :D
@Darren
微软已经在其 CDN 上免费托管它了
Georgiy,编写只有 John 编写代码行数 4 倍的 JS 实际上是非常令人印象深刻的。
看起来很有趣,我有一些问题,但我找不到答案
1. 为什么 jQuery 模板插件计划成为 jQuery 核心库的一部分?
2. 虽然在 Github 上共享源代码很好,但测试用例在哪里?它们保存在某个秘密地下掩体中,远离开源社区的窥视?还是它们不存在?哪一个更可怕?
@Scott,Morgan:模板和依赖管理在很长一段时间内一直是 jQuery 1.5 的路线图。我们一直在与一些微软开发人员合作,以实现一个既有效又符合我们对良好模板解决方案要求的插件。
@Georgiy:这个实现比我最初的 micro-templating 解决方案好得多。它更不易出错,并且更具可扩展性。它使数据绑定成为可能,这非常棒。
@Morgan:据我了解,该插件目前还没有自动化单元测试——只有功能测试(如演示中所见)。当然,在任何代码提交到核心之前,我们都需要一套完整的单元测试。
@Scott Moore
正如我所读,jQuery 正在向模块化发展,他们愿意为我们提供按需加载模块的选择。
如果你需要使用动画,你就可以只加载这个模块,这样会更轻便。
希望他们能继续这项伟大的工作!
@Resig
感谢你详细解释了这些问题 :-)
如果能看到社区对这些插件的贡献,让他们获得一些关注,那就太好了,但是如果没有单元测试,新手就很难在不破坏他们不理解的代码部分的情况下做出贡献。
你知道这三种插件是否存在单元测试吗?也许我们可以敦促某个人提交测试呢?
@Resig,抱歉,你已经回答了关于单元测试的问题 :P
很棒的消息……我很高兴看到这些模块被正式添加到 jQuery 项目中,也很高兴看到微软通过如此重大的贡献来拥抱开源 jQuery 项目。
当前版本的 jQuery 无法与这些插件一起使用。你必须使用下载中包含的那些。然而,这个版本破坏了 jQuery UI。
其他人可以确认一下吗?
我知道这已经在路线图上了,但是为什么这成为了核心的一部分,而不是保持插件状态?为什么要让核心更大?是因为绝大多数人使用这些东西,所以这样做是有意义的吗?是因为未来将有一些内部函数会利用它,所以它无法优雅地移除吗?
@Ivan:你说的是 Data Link 插件,对吧?它确实依赖于 jQuery 1.4.3。由于 1.4.3 还没有发布,仓库中包含的版本是最近一个每日构建的版本。如果它破坏了 jQuery UI,那么可能存在其他问题……?你能具体说明一下它是如何破坏的吗?
虽然我很期待波士顿会议,但我认为 MS jQuery 团队在纽约办公室举办关于新插件的演讲是一个好主意!
你好 Boris,感谢你的回复。是的,我说的是 Data Link 插件。抱歉我的第一篇文章没有说清楚。
安装下载中包含的 1.4.3 构建后,我注意到它破坏了 jQuery UI 中的手风琴小部件。
此外,我自己编写了一个数据网格插件,它使用 $.ajax 调用来更新网格。它也坏了。我得到了以下错误。
jQuery.ajax.triggerGlobal 不是函数
[在此错误处中断] jQuery.ajax.triggerGlobal( s, “ajaxSend”, [xhr, s] );
请告诉我这个插件的支持论坛,以便我能详细说明哪些功能坏了,哪些功能正常。
谢谢。
是否可以有外部模板,而不是将它们都放在单个 HTML 页面中?
@Ivan:听起来像是关于 ajax 触发器的一些更改导致了 jQueryUI 出现问题。你需要在 jQueryUI 论坛或 jQuery 开发论坛上提出这个问题,或者在 jQuery 上提交一个工单。尝试用该版本的 jQuery 重现问题,但不要使用 Data Link。
@Stephen:是的,使用远程模板并不难。使用任何你想要的 AJAX 调用获取模板的标记字符串,或者简单地使用一个指向定义了字符串的 js 文件的静态脚本块。然后,你可以将字符串传递给 jQuery.tmpl,或者更好的,先使用 jQuery.template 编译一个命名模板,然后将名称传递给 jQuery.tmpl 进行渲染。
@Boris:谢谢,我会试试的。
我刚刚对最新的 $.tmpl(来自 Git 仓库)进行了性能测试,与其他模板插件相比,我对 $.tmpl 的性能相当失望。
我使用了与 jQote 一起分发的基准测试集,发现它的渲染引擎比 $.tmpl 快 4600%(不是 46%。是 4600%,也就是快 46 倍)。
我喜欢 $.tmpl 使用的元语言。使用起来非常方便,但我随时会选择速度而不是“漂亮”的模板元语言。
鉴于承诺将 $.tmpl 包含在 jQuery 1.5 中,我不禁要问,为什么要在顶级 JS 库中包含速度慢的引擎?
我注意到 data link 插件文件中没有许可信息。
data-link 会使用 MIT/GPL 许可吗?
@Daniel Dotsenko:你在使用 tmpl 之前编译了你的模板,对吧?如果你这样做了,那么是的,这确实让人很失望。
太棒了!
免费的东西打造最好的 UI。
我刚开始学习 jQuery,但所有这些东西让我感觉,我想学更多。
@Daniel Dotsenko
随时可以在 jsfiddle 或 jsbin 上发布你的测试,让我们都能看到。
不要在没有事实和演示的情况下就喷,这对任何人都没有帮助。
@Daniel Dotsenko
你的数据与我的测试结果完全不符。你可能做了一件事,就是将 jQote 中的字符串连接 API 调用与 .tmpl() 调用进行比较,后者只是创建了没有父级的文档片段。看看 Riley Dutton 的这篇分析 jQuery Templates vs jQote 2: A Followup,他纠正了自己之前的一篇分析。
我希望你们论坛里能有一些验证码或其他垃圾邮件屏蔽器。
最近的 5 条评论只是在浪费大家的时间。
如果这个插件现在是官方的,为什么 jQuery 文档网站上将其列为已弃用,并表示不再支持它?
刚完成了我的第一个 jQuery 插件,想征求一些反馈。看看它,告诉我你的想法! http://silibitest.unosofttech.com/jquery-clock/