- PVSM.RU - https://www.pvsm.ru -

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

ECT [1] — это логическое развитие существующих подходов к шаблонизации под соусом высокой производительности. В начале года я публиковал свою разработку — шаблонизатор JUST [2]. ECT начинался как его развитие, но через некоторое время различие в них стало слишком большим, поэтому появился новый продукт.

Синтаксис

Во время работы с JUST, который использует EJS-совместимый синтаксис, пришло понимание, что это не очень удобно. Хотелось упрощения, хотя бы, для условных операторов и циклов. Я начал развивать код в этом направлении, но вовремя остановился. Я сам очень плохо отношусь к подобным велосипедам в плане синтаксиса. Когда добавляешь подобный синтаксический сахар в свою разработку, это кажется очень крутым и удобным нововведением. Но разработчик, который видит его впервые, скорее выберет знакомое ему и понятное решение, чем будет разбираться в новом синтаксисе.

Логичным решением в данной ситуации стало использование CoffeeScript [3] в качестве встраиваемого языка.

Такой же подход используется популярным шаблонизатором Eco [4]. Реализация поддержки встраиваемого CoffeeScript в ECT полностью обратно совместима с Eco, т.е вы можете использовать ваши Eco-шаблоны без изменений с шаблонизатором ECT.

Да, но зачем нам тогда новый шаблонизатор?

ECT несёт в себе несколько киллер-фич, без которых я не представляю себе шаблонизацию на более-менее крупном проекте:

К тому же, ECT работает быстрее многих других популярных JavaScript шаблонизаторов [8] своего уровня функциональности и идёт примерно в ногу с твиттеровским Hogan.js [9]. Своего близнеца — Eco он обходит по скорости примерно в 2 раза.

Кому интересно — могут повторить тесты производительности [10] у себя.

Совместимость

ECT одинаково работает [11] как на сервере (node.js/coffee), так и на клиенте. Поддерживаются все современные браузеры.

На десерт

ECT можно легко попробовать [12]. Это один из ключевых моментов, т.к. очень часто внедрение новой технологии останавливается из-за высокого порога вхождения. Подобное демо призвано максимально снизить этот порог и помочь разработчикам сделать правильный выбор. К сожалению, демо не работает в IE, т.к. редактор ACE [13] поддерживает только нормальные браузеры. Enjoy!

Автор: BVadim


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/15223

Ссылки в тексте:

[1] ECT: http://ectjs.com

[2] JUST: http://habrahabr.ru/post/138939/

[3] CoffeeScript: http://coffeescript.org/

[4] Eco: https://github.com/sstephenson/eco

[5] Наследование шаблонов: http://ectjs.com/#inheritance

[6] Инъекция шаблонов: http://ectjs.com/#partials

[7] Переопределение блоков: http://ectjs.com/#blocks

[8] работает быстрее многих других популярных JavaScript шаблонизаторов: http://ectjs.com/#benchmark

[9] Hogan.js: http://twitter.github.com/hogan.js/

[10] тесты производительности: https://github.com/baryshev/template-benchmark

[11] работает: http://ectjs.com/#usage

[12] попробовать: http://ectjs.com/#demo

[13] ACE: https://github.com/ajaxorg/ace