Пользователь в широком смысле, тот кто пользуется чем-то.
В плане сложности понимания нет разницы между тем, чтобы объяснить нужную структуру json и объяснять нужный синтаксис, я выбрал второе, чтобы текст выглядел человечнее.
Markdown здесь был ближе чем json, нужен формат который просто писать но при этом можно и парсить. На пользователя перекладывать задачу структурирования я не хотел.
Makdown — слишком общий формат для моих целей, мне хотелось чего-то очень специфичного из чего я смогу сегерировать ровно такой HTML какой я задумал. И, кроме того, это же pet-проект, выбрать готовый парсер/рендерер было бы слишком скучно :)
Но нет ничего эффективней, чем просто показать цирюльнику фотографию чистого подбородка, удобно расположиться в кресле и быть уверенным, что всё, что тот сделает — это просто сбреет вам бороду.
Я правильно понимаю, что достигается это подпиской на конкретные поля данных и перерендером/патчингом частей шаблона, которые на эти данные завязаны?
Есть альтернатива Traceur — 6to5, может работать без runtime скрипта и генерирует более человеческий код. Из всех трансляторов которые пробовал, 6to5 показал себя самым адекватным.
В большом проекте, рано или позно возникнут проблемы от подобного разделения, чаще всего у блоков на одной странице есть что-то общее и они должны как-то общаться, например сервисами или родительскими контроллерами. Для небольших изолированных блоков вполне подходят директивы, а если два больших блока на столько изолированы, что требуют разделения на корневые модули — их соседство на странице сомнительно. Это, конечно, имхо)
По идее, если в директиве «mover» изолировать scope, в ней же повесить вручную на элемент событие «mousemove», а внутри обработчика вызывать scope.$digest(), результат должен быть примерно такой же как в быстрой версии. Как то так fiddle
Вместо compass я бы порекомендовал Bourbon. Его можно установить прямо в папку со стилями, что избавляет от необходимости в grunt-contrib-compass. Плюс у бурбона документация удобнее на порядок.
Нужно еще по блуру делать проверку если есть поля, которые зависят друг от друга, также нужно учесть ситуацию, когда на момент биндинга браузер не заполнил поля сохраненными данными. Но это уже от конкретных условий зависит. Полифил пытается объять все случаи с автозаполнением.
Если честно, вообще не понимаю практический смысл прослойки на ноде, что подразумевается под backend UI? Рендер html шаблона? Не лучше ли в таком случае отдать эту роль браузерному яваскрипту — получаем шаблон, данные и рендерим их.
В плане сложности понимания нет разницы между тем, чтобы объяснить нужную структуру json и объяснять нужный синтаксис, я выбрал второе, чтобы текст выглядел человечнее.
Я правильно понимаю, что достигается это подпиской на конкретные поля данных и перерендером/патчингом частей шаблона, которые на эти данные завязаны?
<iframe src="http://docs.google.com/viewer?url=___адрес_документа___&embedded=true"></iframe>
И контроллер выглядит так:
В результате все зависимости доступны через this.