РЕДАКТИРОВАТЬ: переписать ...
Если вы не заботитесь о дизайне , тогда вы можете легко выбрать шаблонизатор наугад, или потому, что вам нравится его имя или что-то еще. Если у вас нет критериев выбора двигателя, то кого волнует, какой вы выберете?
С другой стороны, если вы действительно заботитесь о дизайне , например, при использовании шаблона проектирования Model-View-Controller (MVC), то ваш выбор быстро уменьшается.
Большинство ответов здесь подчеркивают мощь различных шаблонизаторов. Но вся суть MVC в том, что вы не хотите делать больше, потому что если вы будете делать больше в своих шаблонах, вы в конечном итоге очень сильно повредите. Бизнес-логика не принадлежит представлению, она принадлежит модели. Логика управления принадлежит контроллеру. Существует только один шаблонизатор, который фактически применяет шаблон MVC. Если вы не желаете использовать шаблон MVC (возможно, вы выходите за его пределы), этот один механизм все еще помогает вам не причинять себе вреда и побуждает вас правильно разделить функциональность.
На самом деле есть только один хороший шаблонизатор: StringTemplate . См. http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf, чтобы узнать, почему.
Я использовал его на нескольких платформах (Python, Java, .Net), а также на многих альтернативах и правилах StringTemplate.
Решение принято. Наслаждаться. С наилучшими пожеланиями.