- PVSM.RU - https://www.pvsm.ru -
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
Нажмите здесь для печати.