速度与自由标记

速度还是自由标记?

它们看起来差不多,连语法都一样?

用什么? 什么时候用什么?

54579 次浏览

当被问到这个问题时,速度并没有真正处于活跃的开发阶段,而 Freemarker 却处于活跃的开发阶段。

根据我的经验,Freemarker 也要灵活得多。

他们试图时不时地使自己与众不同(例子)。

我和他们都有过广泛的合作,从我的角度来看,他们非常相似。您可以将如此多的特性构建到模板语言中,其余的都是无关紧要的。

如果可以,使用 Freemarker:

  • 正如@skaffman 所说,仍在积极开发中
  • 很好的文档,比 Velocity 更好
  • 在许多 Web 框架中作为替代模板语言提供
  • 依赖性小于 Velocity
  • 比没有扩展的原始 Velocity 更完整。
  • 还可以查看@leonm 提供的链接

项目的目标是不同的。

Velocity 的目标是使模板尽可能简单,以帮助维护逻辑和表示之间的隔离,这样您就不会滑下将代码粘贴到模板中的滑坡。有时候这样做是对的。当然,有时能够将复杂的逻辑直接连接到模板是正确的。

Velocity 并不经常被提速,但这并不意味着它不在积极开发之中。用户群体庞大,代码快速、稳定,语法基本固定。在过去的几年里,Freemarker 在模板语法和 api 方面经历了翻天覆地的变化。有时候独自一人也挺好的。再说一次,这取决于你要找什么。

Freemarker 的文档更加广泛——而且它是一个更加复杂的软件。

Freemarker 的许多用例归结起来就是想要一个复杂的模板工作流,而不想要一个编译步骤。最近几年,我没有用 Java 来解决这个问题,而是用 Python 或 Ruby 来代替。

有两本关于 Velocity 的书已经出版:

以及其他有相关章节的书籍。 所以,这就是 FreeMarker 拥有更多或更好文档的原因:)。