速度还是自由标记?
它们看起来差不多,连语法都一样?
用什么? 什么时候用什么?
当被问到这个问题时,速度并没有真正处于活跃的开发阶段,而 Freemarker 却处于活跃的开发阶段。
根据我的经验,Freemarker 也要灵活得多。
他们试图时不时地使自己与众不同(例子)。
我和他们都有过广泛的合作,从我的角度来看,他们非常相似。您可以将如此多的特性构建到模板语言中,其余的都是无关紧要的。
如果可以,使用 Freemarker:
项目的目标是不同的。
Velocity 的目标是使模板尽可能简单,以帮助维护逻辑和表示之间的隔离,这样您就不会滑下将代码粘贴到模板中的滑坡。有时候这样做是对的。当然,有时能够将复杂的逻辑直接连接到模板是正确的。
Velocity 并不经常被提速,但这并不意味着它不在积极开发之中。用户群体庞大,代码快速、稳定,语法基本固定。在过去的几年里,Freemarker 在模板语法和 api 方面经历了翻天覆地的变化。有时候独自一人也挺好的。再说一次,这取决于你要找什么。
Freemarker 的文档更加广泛——而且它是一个更加复杂的软件。
Freemarker 的许多用例归结起来就是想要一个复杂的模板工作流,而不想要一个编译步骤。最近几年,我没有用 Java 来解决这个问题,而是用 Python 或 Ruby 来代替。
有两本关于 Velocity 的书已经出版:
雅加达速度: 从专业到专家
掌握阿帕奇速度
以及其他有相关章节的书籍。 所以,这就是 FreeMarker 拥有更多或更好文档的原因:)。