ECT — это логическое развитие существующих подходов к шаблонизации под соусом высокой производительности. В начале года я публиковал свою разработку — шаблонизатор JUST. ECT начинался как его развитие, но через некоторое время различие в них стало слишком большим, поэтому появился новый продукт.
Синтаксис
Во время работы с JUST, который использует EJS-совместимый синтаксис, пришло понимание, что это не очень удобно. Хотелось упрощения, хотя бы, для условных операторов и циклов. Я начал развивать код в этом направлении, но вовремя остановился. Я сам очень плохо отношусь к подобным велосипедам в плане синтаксиса. Когда добавляешь подобный синтаксический сахар в свою разработку, это кажется очень крутым и удобным нововведением. Но разработчик, который видит его впервые, скорее выберет знакомое ему и понятное решение, чем будет разбираться в новом синтаксисе.
Логичным решением в данной ситуации стало использование CoffeeScript в качестве встраиваемого языка.
Такой же подход используется популярным шаблонизатором Eco. Реализация поддержки встраиваемого CoffeeScript в ECT полностью обратно совместима с Eco, т.е вы можете использовать ваши Eco-шаблоны без изменений с шаблонизатором ECT.
Да, но зачем нам тогда новый шаблонизатор?
ECT несёт в себе несколько киллер-фич, без которых я не представляю себе шаблонизацию на более-менее крупном проекте:
К тому же, ECT работает быстрее многих других популярных JavaScript шаблонизаторов своего уровня функциональности и идёт примерно в ногу с твиттеровским Hogan.js. Своего близнеца — Eco он обходит по скорости примерно в 2 раза.
Кому интересно — могут повторить тесты производительности у себя.
Совместимость
ECT одинаково работает как на сервере (node.js/coffee), так и на клиенте. Поддерживаются все современные браузеры.
На десерт
ECT можно легко попробовать. Это один из ключевых моментов, т.к. очень часто внедрение новой технологии останавливается из-за высокого порога вхождения. Подобное демо призвано максимально снизить этот порог и помочь разработчикам сделать правильный выбор. К сожалению, демо не работает в IE, т.к. редактор ACE поддерживает только нормальные браузеры. Enjoy!
Автор: BVadim