web-dev-qa-db-fra.com

Velocity vs. FreeMarker

Velocity ou FreeMarker?

Ils ont à peu près la même apparence, même la syntaxe?

Que faut-il utiliser? Ou quand utiliser quoi?

68
flybywire

Velocity n'est plus vraiment en développement actif. Freemarker est.

Freemarker est également beaucoup plus flexible, selon mon expérience.

52
skaffman

Les objectifs des projets sont différents.

L'objectif de Velocity est de garder les modèles aussi simples que possible, pour aider à maintenir une ségrégation entre la logique et la présentation, de sorte que vous ne glissiez pas sur la pente glissante du collage de code dans les modèles. Parfois, c'est la bonne chose. Bien sûr, être capable de câbler parfois une logique compliquée directement dans des modèles est la bonne chose.

Velocity n'est pas fréquemment révisé, mais cela ne signifie pas qu'il n'est pas en cours de développement actif. La communauté d'utilisateurs est grande, le code est rapide et stable, la syntaxe est fondamentalement fixe. Au cours des dernières années, Freemarker a subi un désabonnement du côté de la syntaxe du modèle et de l'API. Parfois c'est sympa de partir assez bien seul. Encore une fois, cela dépend de ce que vous recherchez.

La documentation de Freemarker est beaucoup plus complète et c'est un logiciel beaucoup plus compliqué.

De nombreux cas d'utilisation de Freemarker se résument à vouloir un workflow de modélisation complexe et à ne pas vouloir d'étape de compilation. Ces dernières années, plutôt que de lutter pour cela avec Java je viens d'utiliser Python ou Ruby à la place.

58
jrb

Utilisez Freemarker si vous pouvez:

  • Toujours en développement actif comme @skaffman l'a dit
  • Bonne documentation, meilleure que Velocity IMHO
  • Fourni comme langage de template alternatif dans de nombreux frameworks web
  • Moins de dépendances que Velocity
  • Plus complet que le Velocity brut sans extensions.
  • Voir également le lien fourni par @leonm
20
John Doe

Ils essaient de se différencier de temps en temps ( exemple ).

J'ai beaucoup travaillé avec les deux et de mon point de vue, ils sont très similaires. Il y a tellement de fonctionnalités que vous pouvez intégrer dans un langage de modèles, le reste n'est que duveteux.

7
leonm

Il existe deux livres publiés sur Velocity:

et d'autres livres qui ont aussi des chapitres à ce sujet. Donc, à propos de FreeMarker ayant plus ou de meilleurs documents :).

4
A. Ionescu