Velocity und Freemarker sind beide durchaus fähig. Quälen Sie sich nicht über die Wahl. Sie haben ziemlich unterschiedliche Prioritäten hinter ihrem Design. Wenn Sie also über das einfache Templating hinausgehen, sind ihre Feature-Sets schwer zu vergleichen. Die Syntax von Velocity ist einfacher und ausgeprägter, die schwerere Syntax von Freemarker erlaubt ihnen, JSP-Bibliotheken zu unterstützen. Velocity bietet mehr Freiheit und letztendlich mehr Funktionen durch Add-on-Projekte wie VelocityTools. Freemarker bietet eine viel bessere native Whitespace-Handhabung, kürzliche Velocity-Versionen bieten interessantere Inhaltskontrollen (#define, #evaluate, # [[literal block]] #).
Was die Leistung anbelangt, hat Velocity in den letzten Jahren große Fortschritte gemacht, außer vielleicht beim ersten Template-Parser. Aber für jede vernünftige App, bei der die Leistung eine Rolle spielt, sollten beide Engines auf Cache-Vorlagen eingestellt sein und nur einmal analysiert werden, was dies weniger problematisch macht. Im Allgemeinen werden Sie feststellen, dass Ihre Leistung bei beiden Engines wesentlich mehr von der Art Ihrer Templates als von den Unterschieden zwischen den Engines abhängt.
StringTemplate ist auch respektabel, obwohl sie MVC Nazis sind und Velocity oder Freemarker für Features nicht übereinstimmen können.;) Ihre potentielle Enttäuschung ist dort ein bisschen höher als bei einer der bekannteren Template-Engines, von denen keines wohl sehr enttäuschen wird. Greifen Sie einfach und gehen Sie.
Es wurde gefragt, aber dieser bekam eine bessere Antwort. – Speck