Автор не справился с angular и у него бомбануло?
Кстати резонный вопрос — есть ли другие наработки в сфере js, которые дают двойной дата биндинг и аналог $scope из коробки, но не используют всю кучу абстракций, от которых автор получил батхерт?
Лучше, но для тех, кто только начинает заботиться о структурировании кода — подход из статьи проще воспринять, чем сразу кидаться на AMD или еще что либо. По крайней мере мне было проще начинать именно с того что в статье, хотя я на тот момент был знаком с Require js.
Почему все считают что автор рекомендует делать так всегда?
В статье предложен отличный способ потролить оппонента, не прибегая к тыканью в голову кулаками. Но иногда? без этого самого тыканья — не обойтись.
Резюмирую свое мнение:
1.) Начальника, родственника (ну вроде вышеупомянутой тещи), и любого, с кем открытый конфликт принесет больше минусов чем плюсов — можно спокойно «прогонять» по статье :)
2.) Если ситуация не подходит под пункт 1 — можно идти на конфликт (к сожалению, иногда это лучший способ убеждения)
Ну у Яндекс не только о БЭМ'е говорит)) Конкретно в том докладе, которым я вдохновлялся — про БЭМ не было ни слова.
В реале на больших проектах я больше чем уверен, что все будет сложнее. Приведенный выше способ я опробовал на двух небольших проектах, и он себя оправдал. На что то большее конечно лучше смотреть в сторону MV* фреймворков :)
Нет про БЭМ я ни слова не говорил.
Обработка запросов необходимых для модуля — происходит внутри самого модуля. Если есть ошибки — модуль генерирует событие «Я сломался» (условно) — которое отлавливается глобальным модулем. Глобальный модуль уже решает что делать. Например можно переинициализировать отвалившийся модуль
Тоже отличный подход. В largescalejs.ru этот объект называется песочница, как я понял. Но в конце книги есть сноска, о том что добавление песочницы вносит усложнение в код. В моем случае требовался максимально простой способ организации кода.
Но следующем проекте надо попробовать все в глобальный объект собрать :)
Про общение с сервером из самого модуля — я подсмотрел в одном из докладов от Яндекса. Основной мыслью в докладе было то, что модуль должен быть «вещью в себе». Сам себя рендерить и сам себе тянуть данные.
Backbone — это ближе к MVC разделению. Для тех проектов что я сейчас делаю — это излишнее усложнение.
Подход из статьи помог мне лучше структурировать код, вот и решил поделиться с другими :)
Кстати резонный вопрос — есть ли другие наработки в сфере js, которые дают двойной дата биндинг и аналог $scope из коробки, но не используют всю кучу абстракций, от которых автор получил батхерт?
Я об этом и не говорил. Но если нет особых предпочтений, зачем например брать jsRender, который если верить тесту — проигрывает остальным?
Но я все же остаюсь на шаблонизаторе встроенном в underscore
Исправил код
Специально после работы попробовал сломать модуль, используя use strict — не получилось
Как и
Продолжает работать.
Можете пояснить ваш комментарий подробнее?
В статье предложен отличный способ потролить оппонента, не прибегая к тыканью в голову кулаками. Но иногда? без этого самого тыканья — не обойтись.
Резюмирую свое мнение:
1.) Начальника, родственника (ну вроде вышеупомянутой тещи), и любого, с кем открытый конфликт принесет больше минусов чем плюсов — можно спокойно «прогонять» по статье :)
2.) Если ситуация не подходит под пункт 1 — можно идти на конфликт (к сожалению, иногда это лучший способ убеждения)
Можно распечатать и повесить над столом :)
Спасибо за перевод отличной статьи — вдохновило на эксперименты
В реале на больших проектах я больше чем уверен, что все будет сложнее. Приведенный выше способ я опробовал на двух небольших проектах, и он себя оправдал. На что то большее конечно лучше смотреть в сторону MV* фреймворков :)
Обработка запросов необходимых для модуля — происходит внутри самого модуля. Если есть ошибки — модуль генерирует событие «Я сломался» (условно) — которое отлавливается глобальным модулем. Глобальный модуль уже решает что делать. Например можно переинициализировать отвалившийся модуль
Но следующем проекте надо попробовать все в глобальный объект собрать :)
Но не всегда на проекте нужен Modernizr, поэтому был предложен вариант использовать его отдельно
Backbone — это ближе к MVC разделению. Для тех проектов что я сейчас делаю — это излишнее усложнение.
Подход из статьи помог мне лучше структурировать код, вот и решил поделиться с другими :)