Я пытаюсь решить между Freemarker и Velocity, чтобы использовать в качестве механизма шаблона, какие-либо преимущества/недостатки, которые вы видите относительно каждого?
Любые альтернативы, на которые я должен смотреть вместо этого?
Я пытаюсь решить между Freemarker и Velocity, чтобы использовать в качестве механизма шаблона, какие-либо преимущества/недостатки, которые вы видите относительно каждого?
Любые альтернативы, на которые я должен смотреть вместо этого?
Скорость и Freemarker оба вполне способны. Не мучайтесь выбором. У них есть довольно разные приоритеты позади своего дизайна, поэтому, когда вы выходите за рамки базовых шаблонов, их функциональные возможности трудно сравнивать. Синтаксис Velocity проще и четче, более сильный синтаксис Freemarker позволяет им поддерживать JSP-библиотеки. Velocity дает больше свободы и, в конечном счете, больше возможностей благодаря дополнительным проектам, таким как VelocityTools. Freemarker обеспечивает гораздо более удобную обработку исходных пробелов, последние выпуски Velocity предоставляют более интересные элементы управления содержимым (#define, #evaluate, # [[literal block]] #).
Что касается производительности, Velocity добилась больших успехов в последние годы, за исключением, возможно, в начальном анализе шаблонов. Но для любого разумного приложения, в котором важна производительность, у вас должны быть установлены оба механизма для кеширования шаблонов и только один раз разбор, что делает это менее проблемой. В общем, вы обнаружите, что ваша производительность с любым движком зависит от характера ваших шаблонов, а не от различий между двигателями.
StringTemplate также респектабелен, хотя они являются нацистами MVC и не могут сравниваться с функциями Velocity или Freemarker.;) Ваше потенциальное разочарование там немного выше, чем для одного из наиболее популярных движков шаблонов, из которых ни один из них вряд ли сильно разочарует. Просто возьмите один и идите.
Я предпочитаю FreeMarker. Мне нравится документация, я всегда могу найти то, что мне нужно. В целом я просто думаю, что это очень мощный.
String Template - еще одна альтернатива.
Похоже, это является достойным изложением сравнения. Хотя, это несколько лет.
Из статьи:
В заключение
Оба FreeMarker и Velocity очень способных шаблонов. Скорость похоже, имеет большую пользовательскую базу, вероятно, из-за того, что это часть проекта Apache. Как я как показано в этой статье, FreeMarker является более сложным и быстрее из двух. В основном операции обоих шаблонных движков почти аналогичные, предоставляя API, который легко понять.
Как Velocity, так и FreeMarker довольно легко интегрировать в приложения и обеспечивают хорошую производительность на маленьких шаблонах. Скорость замедляется вниз при анализе больших шаблонов, которые вы можете принять во внимание, когда выбор шаблона для вашего проект.
На странице проекта freemarker есть длительное сравнение.
Никогда не работая со скоростью, я не могу осмысленно сравнивать эти два, но я был так доволен фримакером, что не видел причин смотреть за ним.
Freemarker не работает на Android. Поэтому я сейчас конвертирую свой проект в Velocity, чтобы сделать его совместимым с мобильными устройствами.