ECT — новый JavaScript шаблонизатор со вкусом кофе

в 5:29, , рубрики: coffee script, javascript, node.js, template, шаблонизатор, метки: , , , ,

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

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js