Слушай, а как ты справляешься с мыслями о том, что твой продукт может не взлететь? Вот сделаешь ты, напишешь пару постов на хабр, а среди разработчиков он не взыскает популярности...стараний вложено-то не мало.
Неужели просто для себя? Я не хочу никого обидеть. |
Цитата:
Я пишу свои библиотеки для себя и под реальные задачи, а ещё потому что я программист и люблю это делать, да и в конце концов, был ли я тем кем являюсь без всего этого? Думаю нет. Более того, это отличное портфолио. Что касается документации, перевода на английски и т.д. Тут тоже всё просто: 1) Доку пишу, потому что этого требует мой перфекционизм; 2) На английский перевожу, т.к. учу английский. |
kobezzza,
кстати, думаю, им можно прислать пуллреквест с бенчмарками SS. Подойдёт для начальной раскрутки) https://github.com/Deathspike/template-benchmark |
Цитата:
|
Цитата:
Хороший инструмент, простой в освоении :). Сделал и забыл, нужно доделать, вернулся 1 секунду повтыкал, доделал. Другое дело, если ты не понимаешь ещё зачем он тебе, это всего лишь значит, что либо ты не дорос, либо перед тобой нет задачи для решения этим инструментом. |
Цитата:
Кстати о развитии: со след недели у меняя снова появляется время на проект, т.к. ухожу на пол ставки на работе, поэтому выход SS7 думаю произойдёт в начале след месяца. А ещё я таки проникся WebPack (ууууу какой крутой инструмент :dance: ) поэтому в зоопарке плагинов к SS появится лоадер для WebPack. Также после выхода SS7 проект переедет в свою сосбтвенную группу на Github: https://github.com/SnakeskinTpl где также будут лежать все плагины (gulp, grunt, express, webpack и т.д.). |
Придумал ещё пару полезных фич для SS7:
Новый модификатор контекста: @: и директива env. По имени директивы уже можно догадаться, что данные вещи будут упрощать работу с переменными окружения: {env DEBUG = 'true'} или {void @:DEBUG = 'true'} Использование в других директивах: {if @:DEBUG == 'true'} ... {/} {switch @:NODE_ENV} {case 'dev'} ... {/} {case 'prod'} ... {/} {/} *** Также появится новый параметр компиляциии: engine, этот параметр будет задавать используемое окружение скомпиленного шаблона, например: default (он же nodejs, думаю для io пока нет смысла делать, ибо там все совпадает пока), nashorn (это встроенный в Java8 JS движок, чтобы использовать шаблоны из Java). В зависимости от этого параматра полученный код шаблона может немного отличаться, например, получение переменной окружения в node это process.env, а в nashorn как то иначе и т.д. |
Также есть идея ввести модификатор final для прототипов и блоков - это будет означать, что данный блок или прототип не может быть переопределен в дочернем шаблоне и следовательно его можно компилить по более быстрому алгоритму, что поможет увеличить скорость трансляции шаблонов.
{proto myTpl->foo() @final} ... {/} Но это пока только мысли вслух :) |
trikadin придумал новую систему code-reuse для SS, в добавление к наследованию и примесям, встречайте (барабанная дробь), враперы!
- template wrapper(data1, data2) < span style = color: red; {data1} < span style = color: blue; {data2} - template main() - wrap call wrapper Мой текст - and Мой текст 2 Думаю результат всем понятен :) |
Допишу ещё, а то из примера неочевидно, что враппером может быть кто угодно: темплейт, прототип, блок -- главное ключевое слово wrap не забыть :)
|
Часовой пояс GMT +3, время: 20:30. |