Дом из готовых кирпичей. Библиотека блоков, тюнинг,...

Post on 11-Nov-2014

6.847 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Елена Глухова, Яндекс Верстальщик, разработчик веб-интерфейсов. Работает в Яндексе с 2008 года. Варвара Степанова, Яндекс Закончила Петрозаводский государственный университет. Работает в Яндексе с 2008 года разработчиком интерфейсов. Разрабатывала проекты Яндекс.Ответы и Яндекс.Фотки. 

Последние полтора года Елена Глухова и Варвара Степанова совместно работают вместе над внутренним интерфейсным фреймворком, помогающим единообразно делать сервисы Яндекса. В последнее время также заняты разработкой подобного интерфейсного фреймворка в open source. Тема доклада Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Тезисы Все сайты немного похожи друг на друга. Если заниматься веб-разработкой долгие годы, накапливаются практики и типовые решения распространённых задач. Результатом наших накоплений становится open source библиотека блоков bem-bl , которую мы разрабатываем на GitHub. Библиотека реализована согласно методологии БЭМ и позволяет использовать блоки, уже 
имеющие шаблонную, CSS и JS-реализации, для построения web-страницы. Мастер-класс продемонстрирует, как можно использовать готовые блоки из этой библиотеки и как модифицировать их под нужды своего сайта. Для работы с файлами библиотеки используются консольные инструменты bem-tools.

TRANSCRIPT

YAC, Москва, 19 сентября 2011 года

Разработчики интерфейсовЕлена Глухова и Варвара Степанова

Дом из готовых кирпичейБиблиотека блоков, тюнинг, инструменты

Wednesday, October 5, 2011

clck.ru/L462шпаргалка к мастер-классу

Дом из готовых кирпичей

Wednesday, October 5, 2011

Немного теории

3

Wednesday, October 5, 2011

Образец подзаголовка

Картинка про предметную область БЭМ

4

Wednesday, October 5, 2011

Образец текста

Картинка про уровни переопределения

5

Wednesday, October 5, 2011

Про что мастер-класс?

6

Wednesday, October 5, 2011

7

Мы сделаем:

Wednesday, October 5, 2011

8

Проект с типовой архитектурой

Мы сделаем:

Wednesday, October 5, 2011

9

Проект с типовой архитектурой

Страницу на блоках из библиотеки

Мы сделаем:

Wednesday, October 5, 2011

10

Проект с типовой архитектурой

Страницу на блоках из библиотеки

Свои блоки на ядре библиотеки

Мы сделаем:

Wednesday, October 5, 2011

11

Проект с типовой архитектурой

Страницу на блоках из библиотеки

Свои блоки на ядре библиотеки

Используем БЭМ-инструменты

Мы сделаем:

Wednesday, October 5, 2011

12

Конкретно:

Wednesday, October 5, 2011

13

Подключение библиотеки

Конкретно:

Wednesday, October 5, 2011

14

Подключение библиотекиСборка страницы

Конкретно:

Wednesday, October 5, 2011

15

Подключение библиотекиСборка страницыПереопределение уровнем

Конкретно:

Wednesday, October 5, 2011

16

Подключение библиотекиСборка страницыПереопределение уровнемПереопределение в разных технологиях

Конкретно:

Wednesday, October 5, 2011

17

Репозиторий

github.com/bem/bem-bl

или clck.ru/Kuu4

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

bem.github.com/bem-bl или clck.ru/Kuuk

БЭМ библиотека

Wednesday, October 5, 2011

Среда разработки

18

Wednesday, October 5, 2011

Инструменты и окружение

19

Локальный web-сервер

БЭМ-инструменты

github.com/bem/bem-tools

или clck.ru/Kz8v

Wednesday, October 5, 2011

Установка bem-tools

20

Node.jsnodejs.org

Пакетный менеджер NPMnpmjs.org

Wednesday, October 5, 2011

Установка БЭМ-инструментов

21

> npm install -g bem ometajs xjst

Wednesday, October 5, 2011

Команды:

22

> bem --help

> bem create

> bem build

Wednesday, October 5, 2011

Новый проект

23

Wednesday, October 5, 2011

Проект на GitHub

24

clck.ru/LP3dgit://github.com/toivonen/yac2011-bem-bl-in-use.git

> git checkout first

> make branches

Wednesday, October 5, 2011

Подключение библиотеки

25

> git clone git://github.com/bem/bem-bl.git

bem-bl

Wednesday, October 5, 2011

Создание уровня (папки)

26

> bem create level --help

> bem create level pages

pages

Wednesday, October 5, 2011

Создание страницы

27

> bem create block --help

> bem create block index -l pages

pages/index

Wednesday, October 5, 2011

Создание страницы

28

> bem create block index -l pages -T bemjson.js

pages/index

Wednesday, October 5, 2011

Настройки уровня

29

> .bem/level.js

Wednesday, October 5, 2011

Создание страницы pages/index

30

> bem create block index -l pages -T bemjson.js

Wednesday, October 5, 2011

Сборка страницы

31

Wednesday, October 5, 2011

Собранные файлы

32

pages/index/index.csspages/index/index.ie.css

для браузера

Wednesday, October 5, 2011

Собранные файлы

33

pages/index/index.csspages/index/index.ie.csspages/index/index.js

для браузера

Wednesday, October 5, 2011

Собранные файлы

34

pages/index/index.csspages/index/index.ie.csspages/index/index.jspages/index/index.html

для браузера

Wednesday, October 5, 2011

Сборка css и js

35

bemjson.js -> bemdecl.jsbemdecl.js -> deps.jsdeps.js -> css, js, ie.css

Wednesday, October 5, 2011

Сборка html

36

deps.js -> bemhtml.jsbemjson + bemhtml.js = html

Wednesday, October 5, 2011

Команды сборки

37

> bem build --help> bem create --help

Wednesday, October 5, 2011

Развернуть @import

38

npm install -g borschik coa node-inherit cssp ometajs

Wednesday, October 5, 2011

Развернуть @import

39

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

Wednesday, October 5, 2011

GNUmakeAle

40

Wednesday, October 5, 2011

GNUmakeJle

41

> make> make -B> make -B pages/index/index.html> make -B pages/index/index.css

Wednesday, October 5, 2011

Делаем страницу

42

Wednesday, October 5, 2011

43

Wednesday, October 5, 2011

44

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

Будем создавать:

Wednesday, October 5, 2011

45

> bem create level blocks -l bem-bl/blocks-common/ .bem/level.js

Создаем уровень переопределения проекта blocks

Wednesday, October 5, 2011

Создаем блок

46

> bem create block b-page -l blocks -T css

Wednesday, October 5, 2011

Сборка css для index.html

> make pages/index/index.css -B

47

— index.css

Wednesday, October 5, 2011

48

> make pages/index/index.js -Bили > make pages/index/index.ie.css -B

Сборка любой другой технологии js

Wednesday, October 5, 2011

Сборка всей страницы

49

> make pages/index/index.html -B

— index.html

— index.js

— index.css

— index.ie.css

Wednesday, October 5, 2011

для “почитать”Ссылки

50

Репозиторий библиотекиgithub.com/bem/bem-bl или clck.ru/Kuu4

Сайт с документациейclck.ru/KzG7

Клуб в Ярушкеclubs.ya.ru/bem/ или clck.ru/4Jl3

Wednesday, October 5, 2011

Варвара Степановаtoivonen@yandex-team.ru

Елена Глуховаlento4ka@yandex-team.ru

Wednesday, October 5, 2011

top related