Сергей Бережной, Варвара Степанова "Как...

190
Я.Субботник, Челябинск, 25 февраля 2012 года Варвара Степанова разработчик интерфейсов #БЭМ Как использовать БЭМ! вне Яндекса

Upload: yandex

Post on 05-Dec-2014

2.382 views

Category:

Technology


0 download

DESCRIPTION

Есть мнение, что БЭМ! можно применять только в Яндексе и подобных больших компаниях для сложных проектов. Мы расскажем, почему это не так. Доклад ориентирован на любого веб-разработчика, а примеры будут основываться на таких задачах как: вёрстка HTML+CSS по PSD, написание JS компонент, сборка динамического сайта с использованием PHP/Django/RoR.

TRANSCRIPT

Page 1: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Я.Субботник, Челябинск, 25 февраля 2012 года

Варвара Степановаразработчик интерфейсов

#БЭМ

Как использовать БЭМ!вне Яндекса

Page 2: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

photosight.ru

2

Page 3: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

3

Page 4: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

photosight.ru

4

Page 5: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Page 6: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

6

HTML/CSS верстальщик

Page 7: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

7

JavaScript программист

+

Page 8: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

8

Front-end разработчик

Page 9: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

9

Серверный разработчик

Page 10: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

10

Разработчик “под ключ”

Page 11: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

11

Руководитель разработки

Page 12: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Я.Субботник, Челябинск, 25 февраля 2012 года

Варвара Степановаразработчик интерфейсов

#БЭМ

Как использовать БЭМ!вне Яндекса

Page 13: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

БЭМ!

Page 14: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

14

Блок

Page 15: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Блок

15

Page 16: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

<div class=”search”> <!-- // --></div>

HTML-код блока

16

Page 17: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

search/ __input/ search__input.css __button/ search__button.css

search.css

Файлы блока

17

Page 18: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

18

Элемент

Page 19: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

19

Блок с элементами

Page 20: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Элемент

20

Page 21: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

<div class=”search”> <input class=”search__input” .../> <span class=”search__button”> ... </span></div>

HTML код элементов

21

Page 22: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

search/ __input/ search__input.css __button/ search__button.css

search.css

Файлы элементов

22

Page 23: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Модификатор

23

Page 24: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Модификатор

24

Page 25: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

<div class=”search search_bg_red”> ...</div>

HTML код модификатора

25

Page 26: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

search/ _color/ search_bg_red.css search.css

Файлы модификаторов

26

Page 27: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

photosight.ru

27

Page 28: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

28

Page 29: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

29

Page 30: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

30

Page 32: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Делаем обычный сайт

Page 33: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

33

Page 34: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

HTML/CSS вёрстка

Page 35: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Традиционная вёрстка

Page 36: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Файловая структура проекта

36

Page 37: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

css/

Файловая структура проекта

36

Page 38: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

css/img/

Файловая структура проекта

36

Page 39: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

css/img/page.html

Файловая структура проекта

36

Page 40: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

css/img/page.htmlindex.html

Файловая структура проекта

36

Page 41: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

#head { /* ... */}#head a { /* ... */}

Обычный CSS файл

37

Page 42: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Вёрстка по БЭМ!

Page 43: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

39

Page 44: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Файловая структура проекта

40

Page 45: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

blocks/

Файловая структура проекта

40

Page 46: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

blocks/ head/ auth/ search/ footer/

Файловая структура проекта

40

Page 47: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

blocks/ head/ auth/ search/ footer/

pages/

Файловая структура проекта

40

Page 48: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

blocks/ head/ auth/ search/ footer/

pages/ index/ proCle/ order/

Файловая структура проекта

40

Page 49: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

41

Page 50: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

search/ _bg/ search_bg_red.css __input/ search__input.css search__input.ie.css search.css

Файловая структура блока

42

Page 52: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

bem create

44

Page 53: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem create block search

bem create

44

Page 54: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem create block search> bem create elem -b search input

bem create

44

Page 55: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem create block search> bem create elem -b search input> bem create mod -b search size -v big

bem create

44

Page 56: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem create block search> bem create elem -b search input> bem create mod -b search size -v big

> bem create --help

bem create

44

Page 57: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Шаблоны технологий

Page 58: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

.search {}

.search__input {}

.search_bg_red {}

> bem create -T css ...

46

Page 60: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Сборка

Page 61: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

49

Page 62: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

50

Page 63: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Декларация

Page 64: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

52

Page 65: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

exports.blocks = [ { block: ‘head’ }, { block: ‘footer’ }, { block: ‘search’ }, ...]

page.bemdecl.js

53

Page 66: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Превращение

54

Page 67: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

index.bemdecl.js ⇉

Превращение

54

Page 68: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

index.bemdecl.js ⇉ index.cssindex.ie.css

Превращение

54

Page 69: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

@import(blocks/head/head.css);@import(blocks/search/search.css);@import(blocks/search/_bg/search_bg_red.css);@import(blocks/search/__input/search__input.css);@import(blocks/search/__button/search__button.css);...

index.css

55

Page 70: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

@import(index.css);@import(blocks/search/__input/search__input.ie.css);@import(blocks/search/__button/search__button.ie.css);...

index.ie.css

56

Page 71: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

bem build

57

Page 72: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build

bem build

57

Page 73: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T css

bem build

57

Page 74: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T css -l blocks -d page.bemdecl.js

bem build

57

Page 75: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T css -l blocks -d page.bemdecl.js -o pages/index -n index

bem build

57

Page 76: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T css -l blocks -d page.bemdecl.js -o pages/index -n index

> ls pages/index

bem build

57

Page 77: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T css -l blocks -d page.bemdecl.js -o pages/index -n index

> ls pages/indexindex.bemdecl.js index.css

bem build

57

Page 78: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

bem build

58

Page 79: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T ie.css -l blocks -d page.bemdecl.js -o pages/index -n index

bem build

58

Page 80: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T ie.css -l blocks -d page.bemdecl.js -o pages/index -n index

> ls pages/index

bem build

58

Page 81: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T ie.css -l blocks -d page.bemdecl.js -o pages/index -n index

> ls pages/indexindex.bemdecl.js index.css index.ie.css

bem build

58

Page 82: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

bem build

59

Page 83: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build --help

bem build

59

Page 84: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Система сборки

Page 85: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

61

GNU Make

Page 87: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Оптимизация

Page 88: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

64

Page 89: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

@import(blocks/head/head.css);@import(blocks/search/search.css);@import(blocks/search/_bg/search_bg_red.css);@import(blocks/search/__input/search__input.css);@import(blocks/search/__button/search__button.css);...

index.css

65

Page 90: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

.head { /* ... */}.search { /* ... */}.search_bg_red { /* .. */}

_index.css

66

Page 91: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

borschik

67

Page 92: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> borschik

borschik

67

Page 93: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> borschik -i pages/index/index.css

borschik

67

Page 94: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> borschik -i pages/index/index.css -o pages/index/_index.css

borschik

67

Page 95: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Утилиты

68

Page 96: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Утилиты

сБорщик https://github.com/veged/borschik

68

Page 97: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Утилиты

сБорщик https://github.com/veged/borschik

CSSO https://github.com/afelix/csso

68

Page 98: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Утилиты

сБорщик https://github.com/veged/borschik

CSSO https://github.com/afelix/csso

Сеточка https://github.com/afelix/setochka

68

Page 99: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

bem server

Page 100: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

bem server

70

Page 101: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem server

bem server

70

Page 102: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

71

Page 103: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

@import url(blocks/i-reset/i-reset.css);@import url(blocks/b-page/b-page.css);@import url(blocks/b-description/b-description.css);@import url(blocks/b-link/b-link.css);@import url(blocks/b-page-title/b-page-title.css);@import url(blocks/b-blocks-list/b-blocks-list.css);@import url(blocks/b-blocks-desc/b-blocks-desc.css);@import url(blocks/b-text/b-text.css);@import url(blocks/i-desc/_type/i-desc_type_mod.css);@import url(blocks/i-desc/_type/i-desc_type_elem.css);

index.css

72

Page 104: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

73

Page 105: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

74

clck.ru/0Q9UF

Page 106: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Внесение изменений

Page 107: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

76

Page 108: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

77

Page 109: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

78

Page 110: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

79

Page 112: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

81

Page 113: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

- DECL :search do |content|  %form.search    = DO content

- DECL :search__input  %input.search__input

- DECL :search__button do |content|  %button.search__button    = DO content

search.haml

82

Page 114: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

- DECL :search do |content|  - DO :search__input  - DO :search__button    Найти

index.haml

83

Page 115: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

index.bemdecl.js ⇉ index.cssindex.ie.css

Превращение

84

Page 116: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

index.bemdecl.js ⇉ index.cssindex.ie.css

Превращение

84

index.haml ⇉

Page 117: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

index.bemdecl.js ⇉ index.cssindex.ie.css

Превращение

84

index.haml ⇉ index.html

Page 118: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Документация

Page 119: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

86

Page 120: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Что плохо?

87

Page 121: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Что плохо?

87

Длинные CSS классы

Page 122: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Что плохо?

87

Длинные CSS классы

Много файлов

Page 123: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Что плохо?

87

Длинные CSS классы

Много файлов

Сборка и пересборка

Page 124: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

88

Page 125: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте HTML/CSSРадость

89

Page 126: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте HTML/CSSРадость

89

Порядок

Page 127: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте HTML/CSSРадость

89

Порядок

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

Page 128: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте HTML/CSSРадость

89

Порядок

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

Компиляция / оптимизация

Page 129: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте HTML/CSSРадость

89

Порядок

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

Компиляция / оптимизация

Станок (реиспользование кода)

Page 130: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте HTML/CSSРадость

89

Порядок

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

Компиляция / оптимизация

Станок (реиспользование кода)

Документируемость

Page 131: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Пишем JavaScript

Page 132: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Обычный JavaScript

Page 133: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

css/img/js/page.htmlindex.html

Файловая структура проекта

92

Page 134: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

<html> <head> <script src=”js/plugins/ui.js”/> <script src=”js/page.js”/> ...</html>

HTML-код страницы

93

Page 135: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

JavaScript по БЭМ!

Page 136: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

95

Page 137: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

96

Page 138: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

search/ ... search.css search.js

Файловая структура блока

97

Page 139: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

98

Page 140: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

JavaScript блоков

99

Page 141: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

blocks/ search/ ... search.js

JavaScript блоков

99

Page 142: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

blocks/ search/ ... search.js visualsearch/ visualsearch.js

JavaScript блоков

99

Page 143: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Зависимости блоков

Page 144: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

({ shouldDeps: [

{ block: ‘visualsearch’ }

]})

search.deps.js

101

Page 145: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

bem build

102

Page 146: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T js -l blocks -d page.bemdecl.js -o pages/index -n index

bem build

102

Page 147: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T js -l blocks -d page.bemdecl.js -o pages/index -n index

> ls pages/index

bem build

102

Page 148: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

> bem build -T js -l blocks -d page.bemdecl.js -o pages/index -n index

> ls pages/indexindex.bemdecl.js ... index.js

bem build

102

Page 149: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

/* visualsearch.js */...

/* search.js */var visualSearch = VS.init({ ...});

index.js

103

Page 150: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Блоки, которых не видно

Page 151: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

105

Page 152: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

105

http://yandex.st/jquery/1.7.1/jquery.js

Page 153: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

106

Page 154: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

blocks/ backbone/ backbone.js underscore/ underscore.js

Вспомогательные блоки

107

Page 155: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Что плохо?

108

Длинные CSS классы

Много файлов

Сборка и пересборка

Page 156: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Что плохо?

108

Длинные CSS классы

Много файлов

Сборка и пересборка

Надо договариваться

Page 157: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

109

Page 158: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте JavaScriptРадость

110

Page 159: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте JavaScriptРадость

110

Порядок

Page 160: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте JavaScriptРадость

110

Порядок

Интеграция с HTML-вёрсткой

Page 161: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте JavaScriptРадость

110

Порядок

Интеграция с HTML-вёрсткой

Зависимости

Page 162: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте JavaScriptРадость

110

Порядок

Интеграция с HTML-вёрсткой

Зависимости

Компиляция

Page 163: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

в контексте JavaScriptРадость

110

Порядок

Интеграция с HTML-вёрсткой

Зависимости

Компиляция

Документируемость

Page 164: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Натягивание рыбы

Page 165: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

112

Page 166: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Обычно

Page 167: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

114

Page 168: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Server-side по БЭМ!

Page 170: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

117

Page 171: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

118

Page 172: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

119

Page 173: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

119

Page 174: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

при управлении разработкойРадость

120

Page 175: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

при управлении разработкойРадость

120

Быстрее работают

Page 176: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

при управлении разработкойРадость

120

Быстрее работают

Больше делают

Page 177: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

121

Page 178: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

121

Page 179: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Итоги

Page 180: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Всеобщая радость

123

Page 181: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Всеобщая радость

123

Модульность

Page 182: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Всеобщая радость

123

Модульность

Единая предметная область

Page 183: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Всеобщая радость

123

Модульность

Единая предметная область

Документируемость

Page 184: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Всеобщая радость

123

Модульность

Единая предметная область

Документируемость

Компиляция

Page 185: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

Всеобщая радость

123

Модульность

Единая предметная область

Документируемость

Компиляция

Станок

Page 186: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

124

Page 187: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

124

Page 188: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

124

Page 189: Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"

125

clck.ru/WVmV

ВАКА

НСИ

Я