移动web应用程序的JavaScript模板引擎

移动web应用程序的JavaScript模板引擎,javascript,templates,jquery-mobile,jqtouch,template-engine,Javascript,Templates,Jquery Mobile,Jqtouch,Template Engine,我正在使用jQTouch构建一个应用程序。我想利用其中一个JavaScript模板引擎来避免使用JSON服务返回的数据手动生成HTML 已知哪些引擎提供良好的移动兼容性,并且与jQTouch(和jquerymobile)共存良好 应用程序有多大?如果你主要关注模板,你应该试试谷歌闭包模板- 一些概念- 我使用模板,它可以在iPhone上运行。我使用jQuery模板在ASP.NET MVC 3上开发了一个大型jQuery移动单页应用程序。将所有模板文件放在局部视图中效果很好。模板在jQueryM

我正在使用jQTouch构建一个应用程序。我想利用其中一个JavaScript模板引擎来避免使用JSON服务返回的数据手动生成HTML

已知哪些引擎提供良好的移动兼容性,并且与jQTouch(和jquerymobile)共存良好

应用程序有多大?如果你主要关注模板,你应该试试谷歌闭包模板-

一些概念-


我使用模板,它可以在iPhone上运行。

我使用jQuery模板在ASP.NET MVC 3上开发了一个大型jQuery移动单页应用程序。将所有模板文件放在局部视图中效果很好。模板在jQueryMobile支持的所有浏览器上都运行良好,包括IE6、7、8


如果您打算仅在移动浏览器/包装器(或现代桌面浏览器)中使用该引擎,则兼容性不是问题。此外,性能对于基于web的移动应用程序至关重要

因此,您有两个选择:

  • jQuery模板
    • 优点:或多或少都有很好的记录,广泛使用
    • 缺点:它不再由jQuery团队维护,即永远的beta版
  • Clousure模板:
    • 优点:丰富的构造块——ifs、foreach等可以为多个目标(js、java…)编译相同的模板
    • 缺点:即使在开发阶段,您也必须执行编译器来编译模板,也就是说,客户端编译不可用。对我来说,这是一种痛苦。虽然它非常强大,但如果仅用于网络,它看起来就像“杀死蚊子的火箭筒”
  • 远端
    • 从未使用过,但它看起来更像是一个“动态UI引擎”,比如knockout或angularjs,而不是一个模板引擎
  • 小胡子(我选这个)。
    • 它有一个非常简单(但功能强大)的语法-你可以在15分钟内学会胡须-通过不提供“复杂块”,它强制你创建好的模型,而不是肥胖和复杂的模板,带有一堆ifs、whiles和Foreach
    • 有10多种语言的引擎版本,包括javascript、.net、java、ruby
    • 缺点:在少数情况下,简单性会受到限制
  • 胡子+霍根
    • Hogan是twitter上的家伙们编写的胡须模板语言的编译器
    • 它真的很快
    • 它可以在运行时编译模板,也可以预编译打包工具
    • AMD兼容(有一个针对requirejs的插件)
    • 正在积极发展中
    • 缺点:记录不清
胡子:


hogan:

这些不会用普通的javascript、jquery和jqtouch运行,您必须使用闭包来运行它们。有同样的问题。赏金已开始。请列举您的优先事项:绩效?简单复杂性@devundef的性能和与打包工具的兼容性。很好的答案!我还留了胡子。谢谢你@NikolayFominyh。我用了胡子+霍根,我没有抱怨。这是非常愉快的。