БЭМ (Блок-Элемент-Модификатор) – это методология разработки веб-приложений, в основе которой лежит компонентный подход. БЭМ делает создание сложных интерфейсов проще.
БЭМ предлагает строить приложение из отдельных блоков и описывает способы их взаимодействия.
Их легче держать в голове, чем всё приложение сразу.
Когда вы меняете что-то внутри одного блока, остальные блоки не сломаются.
Код блоков легко использовать повторно без копипаста.
Общая терминология проекта упрощает коммуникации в команде.
Структурированный код проще рефакторить.
И что с того?
Вы можете познакомиться основными принципами БЭМ за 5 минут,
например, за утренним кофе.
Приложение состоит из блоков. Блоки содержат элементы. Модификаторы описывают специальные состояния блоков и элементов.
БЭМ предлагает специальную структуру файловой системы для удобного хранения исходного кода блоков.
Чтобы код блоков можно было запустить в приложении, из них собирают бандлы. Бандлы формируются на основе деклараций, с учетом зависимостей и уровней переопределения.
Для сопоставления БЭМ-сущностей в разных технлогиях придумали правила формирования их идентификаторов.
Consultant Front-end
Architect
I use BEM notation on everything I build now as its usefulness has proved itself over and over.
Technical Lead,
BBC News
Design Director,
Thoughtbot
Combined with a preprocessor, BEM makes keeping your CSS modular and object-oriented a breeze.
Software Engineer,
Twitter