В «Истории создания БЭМ» Виталя Харисов и объясняет своими словами. Коротко о главном: работа по БЭМ, это не верстка и прикручивание js, а разработка интерфейса, то есть вы начинаете мыслить другими порядками, блоками-элементами-модификаторами и их взаимодействиями, а не «класс у divа поменялся, отвалися мой js». Блок тут получается на более высоком уровне, чем верстка.
bemjson содержит струкртуру страницы (более высокую абстракцию), которая путем работы шаблонизатора превращается в разметку html/css/js. Можно сравнить с электрической схемой — тут блок резистор, тут блок транзистор, а тут — микросхема ввода. Детали реализации (готовую плату) уже монтажник создает (в случае веб-страниц bemhtml)
С комментариями решение самое оптимальное — не нужно гадать, какой шрифт в меню и какой есть у пользователя, подстраиваться под браузеры и самое важное — в меню могут быть вложенные элементы (подменю например) — им не нужно выставлять обнуленные у родителя значения (в случае font-size=0 у родителя, потомку придется задавать font-size только в пикселях)
Потому что терминалы их имеют весьма неоднозначный интерфейс. Зачем мне искать по ИНН и прочая плательщика, когда там стоит считыватель штрих-кода? Должно быть так, «оплать квитанцию со штрихкодом» — подносишь, пик — и вся информация по оплате на экране. Проверяешь, суешь деньги и все! Без идиотского поиска в маразматических меню для обладателей высшего экономического.
Вызывает уважение то, что Марк ценит личную жизнь и человеческие отношения выше денег. Скорее всего поэтому он и является руководителем одной из крупнейших социальных сетей.
Шаблонизатор bemhtml работает на клиенте, у BEM-блоков есть методы обновления/замены и прочее DOM-ноды github.com/bem/bem-bl/blob/master/blocks-common/i-bem/__dom/i-bem__dom.js#L1061. Есть i-system, i-request и i-location.
А пока набиваю руку на простых проектах. По мере возможности буду об этом писать :)
Там просто в более человеко-ориентированном виде :)
Долго заняло обучение работы с BEM-tools? Учавствуйете в их разработке?
Как и у Яндекса на главной, css-классы не обфускацированы (а на странице почты e.mail.ru/cgi-bin/signup вроде да) — с чем это связанно?
Адаптивная верстка — круто, несколько минут игрался с окном браузера, гипнотизирует.
Спасибо заранее за ответы!
и не забудте
/usr/sbin/update-rc.d -f nginx defaults
читать советских газетсмотреть новости вовсе :)