jQuery模板已被弃用?

35

我看到根据 jQuery 插件模板页面 的信息,jQuery 插件已经从 beta 版本过时了,却没有真正发布。我在 jquery.com 或相关网站上找不到任何关于其原因或替代品发布时间的信息。也许是 1.8 版本?

这非常令人沮丧,因为我的项目对 jQuery 模板进行了大量投资。现在看起来似乎是个糟糕的投资,我们正在寻找其他基于 jQuery 的解决方案,包括 JavascriptMVC。

有更好的建议吗?我会很高兴接受评论中的理由或其他信息,但我更希望得到答案作为建议。

4个回答

30
jQuery模板并没有死亡,只是它们不会作为该项目的官方模板语言。该项目的维护者可能仍会进行一些更新(并计划在未来重新设计它的很多部分)。
JavaScriptMVC比仅仅使用模板要复杂得多,您可以使用几乎任何模板语言。
现在比较流行的一些模板语言包括Mustache/Handlebars, Dust.js, Haml, Embedded JavaScript等。前三个实际上与jQuery模板的语法非常相似,唯一的区别是它们不会本地创建jQuery对象以用于您的元素。但这很容易添加。

你能否添加一些链接到你建议查看的项目中? - gnarf
@AlexSexton - 你使用你列出的任何一个吗?你有偏好吗? - JJO
我大多数时候使用handlebars。它很像经典的mustache,但解析器更快,并且对一些东西(如helpers)有更好的支持。更多差异列在网站上。我还在sproutcore中为它创建了一个require.js插件:https://github.com/slexaxton/sc-handlebars - 我以前也经常使用Dust.js。它非常严格,这可能是好事,但我在将其集成到我的require.js项目中遇到了一些困难,想尝试新的东西,所以我尝试了handlebars。 - Alex Sexton

9

6

我对比较表的编写者Boris有点不满,因为他对JsRender/JsViews的成功非常重视。这个方向不太清晰,而jQuery UI的方向感觉非常模糊。 - JJO
1
@JJO - 那个比较表最初是由Boris编写的,但已经得到了jQuery UI团队的领导人员(包括我自己、Scott González和Jörn Zaefferer)的广泛修改。任何人都可以通过URL进行编辑,并且我们邀请全世界的人来添加内容。在标有“核心”标记的部分下面的五行是目前jQuery UI团队已经同意应该包含在我们的核心jQuery UI模板引擎中的功能。此外,我们在这一点上做出的另一个重大决定是,我们将完全支持一个引擎(我们将构建和发布),但人们可以选择使用他们喜欢的引擎。 - rdworth
1
我们计划采用的方法是拥有一个简单的合同,类似于“模板引擎是一个接受两个参数(模板字符串和数据对象)并返回一个字符串的函数”。 - rdworth
2
@rdworth - 非常感谢您的回复。作为一名开发人员,我不想在一个已经过时的技术上投入一行代码。我也不想投资于像JsViews这样的技术,因为它毫不掩饰地宣传自己还没有进入beta测试阶段,并且没有公布何时会稳定下来的草稿计划。对于一个正在运输产品的公司来说,这并不是一个好的状态。 - JJO
4
我理解您的想法,但是就模板而言,它们是有限的。如果您能在当前使用的版本中让所有内容都正常运行,那么更新只会带来速度、新功能和新的不兼容性。如果您已经对 jqTemplates 的工作方式感到满意,那么在项目中使用它并不是个疯狂的想法。 - Alex Sexton

0

我曾经使用过jQuery模板和Handlebars。在我看来,无论是使用、代码清晰度还是速度方面,Handlebars都比jQuery模板要好得多。相比之下,Handlebars预编译模板在各种浏览器上加载速度非常快。请查看此链接以比较不同的模板引擎:http://jsperf.com/jquery-template-table-performance/134


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接