Velocity 与 FreeMarker [已关闭]

问题描述 投票:0回答:5

Velocity 还是 FreeMarker?

它们看起来几乎一样,甚至语法也一样?

用什么?或者什么时候用什么?

java velocity template-engine freemarker
5个回答
72
投票

项目的目标不同。

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

Velocity 并不经常更新,但这并不意味着它没有得到积极的开发。用户群体庞大,代码快速稳定,语法基本固定。在过去的几年里,Freemarker 在模板语法和 API 方面经历了一些变化。有时候,一个人呆着也很好。同样,取决于您要寻找什么。

Freemarker 的文档要广泛得多,而且它是一个复杂得多的软件。

Freemarker 的许多用例都归结为需要复杂的模板工作流程而不需要编译步骤。近年来,我不再使用 Java 来解决这个问题,而是使用 Python 或 Ruby。


49
投票

当提出这个问题时,Velocity 不再真正处于积极开发状态,而 Freemarker 正在积极开发。

根据我的经验,Freemarker 也更加灵活。


20
投票

如果可以的话,使用 Freemarker :

  • 正如@skaffman 所说,仍在积极开发中
  • 良好的文档,比 Velocity 更好
  • 在许多 Web 框架中作为替代模板语言提供
  • 比 Velocity 更少的依赖性
  • 比没有扩展的原始 Velocity 更完整。
  • 另请参阅@leonm提供的链接

7
投票

他们不时地尝试让自己与众不同(示例)。

我与两者都有过广泛的合作,从我的角度来看,它们非常相似。 您可以将很多功能构建到模板语言中,其余的只是一些废话。


4
投票

有两本关于 Velocity 的出版书籍:

以及其他也有相关章节的书籍。 关于 FreeMarker 拥有更多或更好的文档就这么多了:)。

© www.soinside.com 2019 - 2024. All rights reserved.