Freemarker vs. Velocity

Ton*_*ony 22 java comparison velocity freemarker

我试图在Freemarker和Velocity之间作为模板引擎来决定你看到的每个优点/缺点?

我应该考虑的任何替代方案?

Nat*_*bna 35

Velocity和Freemarker都非常强大.不要为选择而烦恼.他们的设计背后有不同的优先级,所以一旦你超越了基本的模板,他们的功能集很难比较.Velocity的语法更简单,更清晰,Freemarker更重的语法允许它们支持JSP库.Velocity通过VelocityTools等附加项目提供更多自由,并最终提供更多功能.Freemarker提供了更好的原生空白处理,最近的Velocity版本提供了更有趣的内容控件(#define,#evaluate,#[[literal block]]#).

至于性能,Velocity近年来取得了很大的进步,除了最初的模板解析.但是对于性能很重要的任何理智的应用程序,你应该将两个引擎设置为缓存模板并且只解析一次,这使得这不是一个问题.通常,您会发现使用任一引擎的性能更多地取决于模板的性质而不是引擎之间的差异.

StringTemplate也是值得尊敬的,虽然它们是MVC纳粹,并且无法匹配Velocity或Freemarker的功能.;)你的潜在失望比任何一个更受欢迎的模板引擎都要高,其中任何一个都不会令人失望.抓住一个然后去.


And*_*ndy 8

我更喜欢FreeMarker.我喜欢文档,我总能找到我需要的东西.总的来说,我认为它非常强大.

字符串模板是另一种选择.

  • 同样,这种比较已经过时,只比较了基本功能,忽略了Velocity的各种强大的附加项目.对于freemarker社区来说,他们不会更新它. (2认同)

jav*_*y79 5

看起来是比较的一个不错的纲要.虽然,它已经有几年了.

来自文章:

结论

FreeMarker和Velocity都是非常强大的模板引擎.Velocity似乎享有更大的用户群,可能是因为它是Apache项目的一部分.正如我在本文中所展示的那样,FreeMarker是两者中更复杂,更快的.在基本操作中,两个模板引擎几乎相似,提供易于理解的API.

Velocity和FreeMarker都很容易集成到应用程序中,并在小模板上提供良好的性能.解析较大模板时速度会降低,在为项目选择模板引擎时可能会考虑这些模板.