Сергей Бережной — bem-core

34

Upload: yandex

Post on 14-Jun-2015

382 views

Category:

Technology


2 download

DESCRIPTION

Недавно мы выделили из библиотеки bem-bl минимальное ядро для разработки сервисов, без каких-либо конкретных визуальных блоков. В докладе мы поговорим об этом ядре: что вошло в его состав, что изменилось и что появилось нового.

TRANSCRIPT

Page 1: Сергей Бережной — bem-core
Page 2: Сергей Бережной — bem-core

bem-core

Сергей БережнойBEMup в рамках YaC 2013, Москва

Page 3: Сергей Бережной — bem-core

bem-bl

Page 4: Сергей Бережной — bem-core

bem-bl

блоки-хелперы

визуальные блоки

4

Page 5: Сергей Бережной — bem-core

bem-core

Page 6: Сергей Бережной — bem-core

bem-core

Уровни переопределения

Page 7: Сергей Бережной — bem-core

bem-core: Уровни переопределения

common.blocks — предназначен для любых устройств и браузеров

desktop.blocks — следует использовать для всех десктопных браузеров

touch.blocks — реализует некоторую специфику для тач-платформ

7

Page 8: Сергей Бережной — bem-core

bem-core

Блоки

Page 9: Сергей Бережной — bem-core

bem-core: Блоки

i-bem — базовый блок с хелперами для JS и HTML

9

Page 10: Сергей Бережной — bem-core

bem-core: Блоки

ecma — некоторые ES5-полифилы

strings — хелперы для JS-строк

objects — хелперы для JS-объектов

functions — хелперы для JS-функций

events — JS-события

10

Page 11: Сергей Бережной — bem-core

bem-core: Блоки

inherit — ООП-хелперы

11

Page 12: Сергей Бережной — bem-core

bem-core: Блоки

jquery — jQuery

12

Page 13: Сергей Бережной — bem-core

bem-core: Блоки

tick — глобальный таймер

idle — IDLE-событие

next-tick — полифил для nextTick/setTimeout(0, ...)

13

Page 14: Сергей Бережной — bem-core

bem-core: Блоки

identify — идентификация JS-объектов

clearfix — CSS-трюк clearfix

querystring — работа со строкой запроса

loader — загрузчик для JS-файлов

cookie — хелперы для работы с браузерными куками

vow — реализация Promises/A+

14

Page 15: Сергей Бережной — bem-core

bem-core: Блоки

dom — хелперы для работы с DOM

pointer-events — кроссплатформенные события указателя

ua — определение возможностей браузера

page — скелет для html/head/body

15

Page 16: Сергей Бережной — bem-core

bem-core

Изменения

Page 17: Сергей Бережной — bem-core

bem-core: Изменения

Переход на модульную систему github.com/ymaps/modules

17

Page 18: Сергей Бережной — bem-core

bem-core: Изменения

Из i-bem, i-bem__dom убраны все deprecated-методы

i-bem больше не зависит от jQuery(i-bem__dom продолжает зависеть от jQuery)

18

Page 19: Сергей Бережной — bem-core

bem-core: Изменения

BEMHTML-шаблоны можно писать с использованием JS-синтаксиса

bemtree (на базе bem-xjst): для описания процесса динамического построения БЭМ-дерева

19

Page 20: Сергей Бережной — bem-core

bem-core: Изменения

vanilla.js: JS-реализация модулей, не зависящая от конкретного JS-движка

browser.js и node.js: JS-реализация блоков в соответствующих движках

20

Page 21: Сергей Бережной — bem-core

bem-core: Изменения

Система модульного тестирования и примеров для блоков в библиотеке

21

Page 22: Сергей Бережной — bem-core

bem-core: Изменения

i-bem и BEMHTML: простые модификаторы (модификаторы без значений)

22

Page 23: Сергей Бережной — bem-core

bem-core: Изменения

Все блоки-модули избавились от префиксов

23

Page 24: Сергей Бережной — bem-core

bem-core: Изменения

Все блоки-модули, кроме i-bem, избавились от префиксов

24

Page 25: Сергей Бережной — bem-core

bem-core: Изменения

github.com/bem/bem-core/blob/v1/CHANGELOG.md

25

Page 26: Сергей Бережной — bem-core

bem-core

Контрибьют

Page 27: Сергей Бережной — bem-core

bem-core: Контрибьют

Рабочая рабочая копия

Правила для заведения задач, веток и пулл-реквестов

Тесты и примеры

27

Page 28: Сергей Бережной — bem-core

bem-core

Версионирование

Page 29: Сергей Бережной — bem-core

bem-core: Версионирование

x.y.Z — совместимые изменения

x.Y.z — не совместимые изменения

X.y.z — совсем не совместимые изменения

29

Page 30: Сергей Бережной — bem-core

bem-core

Планы

Page 31: Сергей Бережной — bem-core

bem-core: Планы

31

Page 32: Сергей Бережной — bem-core

32

[email protected]

@vegedveged

Сергей БережнойРуководитель отделаразработки поисковых интерфейсов

Page 34: Сергей Бережной — bem-core

3422

!"#$%&' (# )*%+#*%,