бэм методология

14
БЭМ методология

description

Презентация Марата Абдулина раскрывает тему БЭМ (Блок-Элемент-Модификатор) методологии. А конкретнее для чего она необходима и в чем ее плюсы.

Transcript of бэм методология

Page 1: бэм методология

БЭМ методология

Page 2: бэм методология

Блок-Элемент-Модификатор

БЭМ

Page 3: бэм методология

Для чего?• Типовые проекты должны разрабатываться быстро, но жить долго•Над проектом работает много людей•Масштабируемость команд•Повторное использование кода

Page 4: бэм методология

БЛОК

Page 5: бэм методология

ЭЛЕМЕНТ

Page 6: бэм методология

МОДИФИКАТОР

Page 7: бэм методология

Независимость кодаНезависимость блоков

Независимость CSS

Page 8: бэм методология

Предметная абстракцияС точки зрения процесса разработки:• Все участники процесса оперируют одними

терминами

С точки зрения CSS:• CSS блоков и элементов можно описывать

на псевдоязыке, который затем компилируется в чистый CSS согласно принятой схеме именования.

С точки зрения JavaScript:• Не нужно обращаться к DOM-узлам блоков и

элементов по имени класса

Page 9: бэм методология

Консистентность блока

Page 10: бэм методология

Организация файловой системы

Page 11: бэм методология

Инструментыbem-tools это инструмент для работы с файлами, написанными по БЭМ-методу.

CSSO (CSS Optimizer) является минимизатором CSS, выполняющим как минимизацию без изменения структуры, так и структурную минимизацию с целью получить как можно меньший текст.

SVGO (SVGO Optimizer) — это инструмент для оптимизации векторной графики в формате SVG, написанный на Node.js.

Расширяемый сборщик файлов borschik может использоваться для сборки текстовых файлов из кусочков. Например, для сборки статических файлов веб-страниц (CSS, JS, etc).

Page 12: бэм методология

А как же рельсы?!

BEM on Rails

github.com/verybigman/bem-on-rails

Page 13: бэм методология

thor bem:create -b test -m color -v red

thor bem:create -b test -e icon -m size -v small

= b "test", mods: [{color: "red"}], content: [{ elem: "icon", elemMods: [{size: "small"}] }]

Как пользоваться?

Page 14: бэм методология

На этом всё.Вопросы?

ru.bem.info

github.com/verybigman/bem-on-rails