Антон Кузнецов — БЭМ: параллельные миры

32
Слабых хаос поглощает, сильные им управляют БЭМ: Параллельные миры BEMup в рамках YaC 2013 Кузнецов Антон

description

Об уменьшении энтропии при разработке интерфейса «Портала здравоохранения Московской области» на 1C-Битрикс. В докладе я покажу разницу в подходах БЭМ и Битрикс, расскажу о своих мыслях на старте разработки, о процессе создания шаблонов, проблемах и решениях, общении в команде и планах на будущее.

Transcript of Антон Кузнецов — БЭМ: параллельные миры

Page 1: Антон Кузнецов — БЭМ: параллельные миры

Слабых хаос поглощает, сильные им управляют

БЭМ: Параллельные миры

BEMup в рамках YaC 2013Кузнецов Антон

Page 2: Антон Кузнецов — БЭМ: параллельные миры

Представиться

Зовут: Кузнецов Антон

Кто: Разработчик интерфейсов

Где: Интернет фабрика

2

Page 3: Антон Кузнецов — БЭМ: параллельные миры

спустя 1 год ...

3

Page 4: Антон Кузнецов — БЭМ: параллельные миры

4

Page 5: Антон Кузнецов — БЭМ: параллельные миры

5

Page 6: Антон Кузнецов — БЭМ: параллельные миры

План1.Представиться

2.Проект

3.Команда

4. Bitrix—way

5.Поиск решения

6. BEM—way

7.Тонкости процесса разработки

8.Итоги6

Page 7: Антон Кузнецов — БЭМ: параллельные миры

Проект

Название: «Портал здравоохранения МО»

URL: zdravmo.ru

Начинка: 1С-Битрикс

Преимущества: Лучшие маркетологи

7

Page 8: Антон Кузнецов — БЭМ: параллельные миры

8

Page 9: Антон Кузнецов — БЭМ: параллельные миры

Задачи для себя

Максимально быстро внедрить интерфейс

Оптимальное решение для подгрузки ресурсов

Очистить код cms от мусора, inline css и js

При верстке интерфейса cms следовать БЭМ

Рассказать какой я молодец на втором bemup?

9

Page 10: Антон Кузнецов — БЭМ: параллельные миры

Команда1 дизайнер

2 аналитика

2 тестировщика

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

2 разработчика интерфейсов

10

Page 11: Антон Кузнецов — БЭМ: параллельные миры

«А вы, друзья, как ни садитесь, Всё в музыканты не годитесь»

И.А. Крылов11

Page 12: Антон Кузнецов — БЭМ: параллельные миры

Проблемы

Отсутствие здравой шаблонизации

Модульно—компонентная система

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

Качество кода предыдущей версии

12

Page 13: Антон Кузнецов — БЭМ: параллельные миры

Отсутствие шаблонизации

13

Page 14: Антон Кузнецов — БЭМ: параллельные миры

Помесь php и html

14

Page 15: Антон Кузнецов — БЭМ: параллельные миры

Модульно — компонентная система

horizontal_mainmenu

horizontal_multilevel_new

vertical_multilevel_bottom

vertical_multilevel_inner

15

Page 16: Антон Кузнецов — БЭМ: параллельные миры

Модульно — компонентная система

16

Page 17: Антон Кузнецов — БЭМ: параллельные миры

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

header.php

content (Work area)

footer.php

Подробное описание http://clck.ru/8qHEB

17

Page 18: Антон Кузнецов — БЭМ: параллельные миры

Шаблон компонента

18

Page 19: Антон Кузнецов — БЭМ: параллельные миры

А если 10 компонентов

19

Page 20: Антон Кузнецов — БЭМ: параллельные миры

Цепочка развития

Больше файлов

Больше запросов

Меньше клиентов

Дольше грузится

20

Page 21: Антон Кузнецов — БЭМ: параллельные миры

Качество кода предыдущей версии

21

Page 22: Антон Кузнецов — БЭМ: параллельные миры

22

Page 23: Антон Кузнецов — БЭМ: параллельные миры

BEM—wayЛегкая читаемость кода

Легкая масштабируемость кода

Максимальное реиспользование кода

Свой уровень абстракции для блоков

Решение проблемы именования

23

Page 24: Антон Кузнецов — БЭМ: параллельные миры

БенефитыСкорость разработки

Ориентация в коде по методологии

Уверенный code management

Стандартизированный подход

Быстрое внедрение новинок

24

Page 25: Антон Кузнецов — БЭМ: параллельные миры

Уровень абстракции блоков

horizontal_multilevel_new

.b-menu

Быстрый поиск нужных стилей

Разговор на одном языке

25

Page 26: Антон Кузнецов — БЭМ: параллельные миры

Инструменты

26

Page 27: Антон Кузнецов — БЭМ: параллельные миры

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

Уложились в 1 месяц

1я неделя — верстка статики, js

2я, 3я неделя — адаптация к cms

4я неделя — правки, баги, фиксы

27

Page 28: Антон Кузнецов — БЭМ: параллельные миры

Про работу в команде

Отсутствие VCS -

Моя монополия на css и js +

Code Review +

Профит в виде БЭМ +

28

Page 29: Антон Кузнецов — БЭМ: параллельные миры

Тонкости работы в команде

Нежелание понять workflow

Написание кода не по методологии

Неполное использование кода

Странная любовь к inline-коду

29

Page 30: Антон Кузнецов — БЭМ: параллельные миры

ИтогиУложились в срок

Никакого «плохого» кода

Легкость реиспользования кода

Стандартизация кода

Пообщался с коллегами

Получил большой практический опыт30

Page 31: Антон Кузнецов — БЭМ: параллельные миры

Планы на будущееОтказаться от GUI tools

Grunt

Разобраться с bem—tools

Создать гайдлайн по верстке

Обучать коллег

Делать крутые проекты с БЭМ31

Page 32: Антон Кузнецов — БЭМ: параллельные миры

Спасибо

Антон Кузнецовразработчик интерфейсов

Интернет фабрика

@iSnifer

32