自由标记与速度
2022-09-02 00:30:09
我试图在Freemarker和Velocity之间做出决定,用作模板引擎,你看到每个引擎的任何优点/缺点?
我应该考虑哪些替代方案?
我试图在Freemarker和Velocity之间做出决定,用作模板引擎,你看到每个引擎的任何优点/缺点?
我应该考虑哪些替代方案?
Velocity和Freemarker都非常有能力。不要为选择而苦恼。它们在设计背后有相当不同的优先级,所以一旦你超越了基本的模板,它们的功能集就很难比较。Velocity的语法更简单,更独特,Freemarker更重的语法允许他们支持JSP库。Velocity通过VelocityTools等附加项目提供了更多的自由,并最终提供了更多的功能。Freemarker提供了更好的本机空格处理,最近的Velocity版本提供了更有趣的内容控件(#define,#evaluate,#[[文字块]]#)。
至于性能,Velocity近年来取得了很大的进步,除了最初的模板解析。但是对于性能至关重要的任何理智的应用程序,您应该将两个引擎都设置为缓存模板并且仅解析一次,从而减少问题。通常,您会发现使用任一引擎的性能更多地取决于模板的性质,而不是引擎之间的差异。
StringTemplate也是值得尊敬的,尽管他们是MVC纳粹分子,在功能上无法与Velocity或Freemarker相匹配。;)你的潜在失望程度比任何一个更流行的模板引擎都要高一点,其中两者都不太可能让人失望。只需抓住一个,然后走。