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

发布于 2024-12-05 07:08:52 字数 1551 浏览 0 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

听闻余生 2024-12-12 07:08:52

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

所以你有几个选择:

  • jQuery 模板
    • 优点:或多或少有详细记录、广泛使用。
    • 缺点:它不再由 jQuery 团队维护,即永远为测试版。
  • 闭包模板
    • 优点:丰富的构造块 - ifs、foreach 等。可以为多个目标(js、java ...)编译相同的模板
    • 缺点:即使在开发阶段,也必须执行编译器来编译模板,即客户端编译不可用。对我来说,这是一种痛苦。虽然威力很大,但如果只用在网络上,就好像“火箭筒打蚊子”。
  • 远端
    • 从未使用过,但它看起来更像是“动态 UI 引擎”,如 Knockout 或 AngularJS,而不是模板引擎。
  • 小胡子(我选这个)。
    • 它有一个非常简单(但功能强大)的语法 - 你可以在 15 分钟内学会 Mustache - 并且通过不提供“复杂的块”,它强制你创建好的模型,而不是带有一堆 ifs 的臃肿而复杂的模板, while 和 foreach。
    • 有超过 10 种语言的引擎版本,包括 javascript、.net、java、ruby...
    • 缺点:在某些情况下简单性会受到限制
  • mustache + hogan
    • Hogan 是由 Twitter 人员编写的 Mustache 模板语言的编译器。
    • 速度真的很快
    • 它可以在运行时编译模板,也可以为打包工具预编译。
    • 符合 AMD 标准(具有 requirejs 插件)
    • 正在积极开发中
    • 缺点:记录不足。

小胡子: http://mustache.github.com/mustache.5.html

霍根: https://github.com/twitter/hogan.js

Compatibility is not a problem if your intention is to use the engine only in mobile browsers/wrappers (or modern desktop browsers). Moreover, the performance is essential for web-based mobile applications.

So you have a couple of options:

  • jQuery templates
    • Pros: more or less well documented, widely used.
    • Cons: it is no longer being maintained by jQuery team, ie forever beta.
  • Clousure templates:
    • Pros: rich construction blocks - ifs, foreach, etc. Can compile the same template for multiple targets (js, java ...)
    • Cons: you'll have to execute the compiler to compile the template even on development stage, that is, client side compilation is not available. For me, it's a pain. Although it's very powerful, seems like "a bazooka to kill a mosquito" if used only for web.
  • distal
    • Never used, but it seems more like a "dynamic UI engine" like knockout or angularjs than a template engine.
  • mustache (I pick this one).
    • It has a very simple (yet powerful) syntax - you can learn mustache in 15 minutes - and by not providing "complex blocks" it enforces you to create good models instead of fat and complex templates, with a bunch of ifs, whiles and foreachs.
    • There are engine versions for more than 10 languages, including javascript, .net, java, ruby...
    • Cons: The simplicity in a few cases becomes limiting
  • mustache + hogan
    • Hogan is a compiler for the Mustache templating language written by the guys from twitter.
    • It is really fast
    • It can compile templates at runtime or pre-compile for packaging tools.
    • AMD compliant (has a plugin for requirejs)
    • Is in active development
    • Cons: poorly documented.

mustache: http://mustache.github.com/mustache.5.html

hogan: https://github.com/twitter/hogan.js

只有影子陪我不离不弃 2024-12-12 07:08:52

我使用 Distal 模板,它适用于 iPhone。

I use Distal templates and it works on the iPhone.

木有鱼丸 2024-12-12 07:08:52

我在 ASP.NET MVC 3 上的大型 jQuery Mobile 单页应用程序中使用了 jQuery 模板。将所有模板文件放在局部视图中效果非常好。模板在 jQuery Mobile 支持的所有浏览器上运行良好,包括 IE 6、7、8。

https://github.com/jquery/jquery-tmpl

I used jQuery templates for a large-scale jQuery Mobile single page app on ASP.NET MVC 3. Putting all the template files in a partial view worked quite well. Templates worked well on all browsers that jQuery Mobile supported including IE 6,7,8.

https://github.com/jquery/jquery-tmpl

青丝拂面 2024-12-12 07:08:52

应用程序如何“大”?如果您主要是在模板之后,则应尝试Google闭合模板尝试 -

http://code.google.com /closure/templates/

一些概念 -

http://code.google .com/CLOSURE/模板/doc/concepts.html

How "big" is the application? If you are primarily after templates you should give Google Closure Templates a try -

http://code.google.com/closure/templates/

Some concepts -

http://code.google.com/closure/templates/docs/concepts.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文