Шаблоны - это довольно здоровый бизнес на устоявшихся языках программирования, но есть ли хорошие, которые можно обрабатывать в JavaScript?
Под «шаблоном» я подразумеваю документ, который принимает объект данных в качестве входных данных, вставляет данные в некий сериализованный язык разметки и выводит разметку. Хорошо известными примерами являются JSP , оригинальный PHP, XSLT .
Под «хорошим» я подразумеваю, что автору HTML легко и просто написать декларацию, что он надежен и поддерживается и на других языках. Что-то лучше, чем варианты, о которых я знаю. Некоторые примеры «не хорошо»:
Строковая математика:
element.innerHTML = "<p>Name: " + data.name
+ "</p><p>Email: " + data.email + "</p>";
явно слишком громоздкий, структура HTML не очевидна.
XSLT:
<p><xsl:text>Name: </xsl:text><xsl:value-of select="//data/name"></p>
<p><xsl:text>Email: </xsl:text><xsl:value-of select="//data/email"></p>
// Структурно это работает хорошо, но давайте посмотрим правде в глаза, XSLT сбивает с толку разработчиков HTML.
Trimpath:
<p>Name: ${data.name}</p><p>Email: ${data.email}</p>
// Это хорошо, но процессор поддерживается только в JavaScript, а язык довольно примитивен (http://code.google.com/p/trimpath/wiki/JavaScriptTemplateSyntax).
Я бы хотел видеть подмножество JSP, ASP или PHP, портированных в браузер, но я этого не нашел.
Что люди используют в эти дни в JavaScript для шаблонов?
Добавление
Через несколько месяцев здесь появилось много работоспособных языков шаблонов, но большинство из них нельзя использовать ни на каком другом языке. Большинство этих шаблонов нельзя использовать вне движка JavaScript.
Исключением является Microsoft - вы можете обрабатывать один и тот же ASP либо в браузере, либо в любом другом движке ASP. У этого есть свой собственный набор проблем переносимости, так как вы связаны с системами Microsoft. Я отметил это как ответ, но все еще заинтересован в более портативных решениях.
Спасибо за все входные данные!