速度与FreeMarker

fly*_*ire 68 java velocity template-engine freemarker

Velocity还是FreeMarker?

他们看起来几乎一样,甚至是语法?

用什么?还是什么时候用?

小智 58

项目的目标是不同的.

Velocity的目标是尽可能简化模板,以帮助维持逻辑和表示之间的隔离,这样就不会在模板中滑动粘滞代码的滑坡.有时这是正确的.当然,有时能够将复杂的逻辑直接连接到模板中是正确的.

Velocity并没有经常转换,但这并不意味着它没有得到积极的开发.用户社区很大,代码快速稳定,语法基本固定.在过去的几年里,Freemarker经历了模板语法和api方面的流失.有时单独离开是很好的.再次,取决于你在寻找什么.

Freemarker的文档更加广泛 - 它是一个更复杂的软件.

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


ska*_*man 51

速度不再是真正的积极发展.Freemarker是.

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

  • Freemarker社区中有一些人现在已经传播了Velocity不活动的神话近7年.在那个时候,Velocity已经发布了十几个版本(包括点版本和VelocityTools版本). (22认同)
  • Velocity已经死了,2010年最后稳定发布 (12认同)
  • 虽然它确实看起来像Velocity似乎已经失去了蒸汽开发(我在这个响应的基础上使用FTL),但某个东西的最后稳定发布日期并不总是衡量它的价值的最佳指标.HTTP永远不会离开2.0,MIME永远不会离开1.0.当然,这些是规格,而不是软件,但我认为可能有一些有价值的工具已经成熟. (11认同)
  • 速度再次活跃起来.2017年8月发布的新[2.0版稳定版](http://velocity.apache.org/news.html). (6认同)
  • 这个答案是完全错误的. (3认同)
  • 他们刚刚于 2020 年 2 月 2 日发布了新版本:https://velocity.apache.org/news.html#engine22 该评论应该被删除。 (3认同)
  • https://velocity.apache.org/news.html#engine21 Velocity Engine 2.1发行(2019年3月31日,星期日)Velocity Tools 3.0发行(2018年10月9日,星期二) (2认同)

小智 20

如果可以,请使用Freemarker:

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

  • 如果模板系统仍处于活跃开发状态10年以上,您可能希望寻找更稳定的东西. (14认同)
  • 事物不断"发展"的事实并不是一件好事. (6认同)
  • 我是FreeMarker的当前维护者(我不是原作者,BTW).在2.3.0(2004年中)之前,它是黑暗时代,混乱.自2004年中期(2.3.0)以来,版本向后兼容,2016年FreeMarker为2.3.23.添加了一些新功能,旧功能,特别是在过去几年,但是经过这么多年,事情出现了,期望发生变化,最初的拦截远非完美.只有现在,在2.3.0之后的12年之后,才会考虑使用新一代FreeMarker(在不同的软件包中).如果你在12年后没有变得更聪明,你知道...... (5认同)

leo*_*onm 7

他们试图不时地区分自己(例子).

我和两个人都进行了广泛的合作,从我的观点来看,他们非常相似.有很多功能可以构建成模板语言,剩下的就是绒毛.