View
421
Download
2
Category
Preview:
Citation preview
МАНУФАКТУРАИнтерактивное агентство
♥
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
МАНУФАКТУРАИнтерактивное агентство
Как мы жили до БЭМа и к чему пришли с ним
2 / 61
CodeFest 2015
ОБО МНЕ
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 3 / 61
В «Мануфактуре» 3 года
Руководитель группы разработки
Воищев Иван
@voischev
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 4 / 61
СОДЕРЖАНИЕПроблемы
• Старый подход
Решение
• Собственные инструменты
• BEM full stack (Сервис Myweddy.ru)
Профит
• Воркфлоу
• Библиотеки блоков и продукты
• О команде
2011
2012
2013
Cейчас
2014
5 / 61
ПРОБЛЕМЫ
• Большие CSS файлы• HTML – это хаос!
• JS где-то сбоку
2011 год
• Нет общего языка общения в команде• Быстро развивающаяся индустрия
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
• Низкая скорость разработки
6 / 61
Проблемы
7 / 61
Проблемы
9 / 61
РЕШЕНИЕ 2012 год
• Выбрать методологию разработки• Инструменты сборки
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
11 / 61Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
Сходство
13 / 61Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
Независимость
14/ 61
ЗАДАЧИ ПЕРЕД ИНСТРУМЕНТОМ СБОРКИ ПРОЕКТОВ 2012 год
• Все технологии блока в одном месте • Простая модификация кода • Полное разделение ответственности разработчиков • Автоматическая подготовка кода к продакшену • Удобный деплой проектов
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
15 / 61Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
Первый взгляд на bem-tools в 2012
8 / 94Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
Первый взгляд на bem-tools в 2012
• Не хватало технологий для связи с бэкендом
• Мало документации • Высокий порог входа
16 / 61
17 / 61
СОБСТВЕННЫЕ ИНСТРУМЕНТЫ СБОРКИ 2012-2013
• Основа на Zend Framework • Blitz Templates + хелперы • Собственная система сборки • Поддержали БЭМ структуру хранения файлов • Сборка в дев. и продакшен режиме • Фриз статики
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
18 / 61
Собственные инструменты сборки
• Ходит в папку с именем блока • Подключает шаблоны, css и jsи др.
19 / 61
Собственные инструменты сборки
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
20 / 61
• Работали с технологиями которые мы хорошо знали и умели • Заточен под наши процессы
Собственные инструменты сборки
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
ПЛЮСЫ
• Нужно поддерживать и развивать • Часть логики представления в контролерах • Подсветка синтаксиса • Нет документации • Нет переопределения шаблонов
Собственные инструменты сборки
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
МИНУСЫ
21 / 61
ТЕМЫ ОФОРМЛЕНИЯ
Myweddy.ru
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 23 / 61
8 / 94
8 / 94
ПАЛИТРЫ ТЕМ
Myweddy.ru
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 27 / 61
28 / 61
СНОВА BEM STACK?• Появилась BEMTREE технология • bem-tools решает все задачи, поставленные перед инструментом сборки • Шаблонизатор, в котором можно всё • Больше нет проблем с подсветкой синтаксиса BEMHTML • Уровни переопределения • Модульная система для JS • CSS препроцессор на выбор из коробки • Любой бэкенд • Появилась актуальная документация
Профит с 2013
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 31 / 61
Пример BEMTREE
32 / 61
Доопределение BEMHTML
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 33 / 61
РЕЗУЛЬТАТ СБОРКИ• _common.bemtree.js • _common.bemhtml.js • _common.js • _common.css (Autoprefixer) • папка с фризом (img, fonts, svg …)
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 34 / 61
DATA → BEMTREE → BEMHTML → HTML
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 35 / 61
DATA → BEMTREE → BEMHTML → HTML
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
Бэкенд сервер
json
35 / 61
DATA → BEMTREE → BEMHTML → HTML
Nodejs
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
Бэкенд сервер
json
35 / 61
ВОРКФЛОУ
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 36 / 61
ВОРКФЛОУ• Простой редактор кода
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 36 / 61
ВОРКФЛОУ• Простой редактор кода• Препроцессор css
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 36 / 61
ВОРКФЛОУ• Простой редактор кода• Препроцессор css• npm, bower, [git hooks, jshint, jscs, csscomb…] … Автоматизация
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 36 / 61
ВОРКФЛОУ• Простой редактор кода• Препроцессор css• npm, bower, [git hooks, jshint, jscs, csscomb…] … Автоматизация• Любой бэкенд сервер
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 36 / 61
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 37 / 61
myweddy.ru ashifin-gubernator.ru posmotri-vrn.ru
voronezharts.rudomjourvrn.ru 10+
polavkam.ru
ihvoronezh.comstudioelegantart.ru
Одностраничники Лендинги другие задачи
БИБЛИОТЕКИ БЛОКОВ• bem-core • bem-components • bem-grid • bem-social • bem-factory • manufactura-bl • factory-fonts
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 38 / 61
checkbox
checkbox
bem-components / popup + menu
checkbox
bem-components / popup + menu
link linklink
checkbox
bem-components / popup + menu
link linklink
factory-fonts
bem-factory / fancybox
bem-factory / fancybox
bem-components / menu
manufactura-bl / slider
bem-components / button
bem-components / button
popupinput select
textarea button
bem-social
manufactura-bl / map
bem-social
manufactura-bl / map
factory
bem-social
BEM-FONT
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 45 / 61
bit.ly/bem-font
BEM-FONT
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 45 / 61
bit.ly/bem-font
BEM-FONT
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 45 / 61
bit.ly/bem-font
BEM-FONT
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 45 / 61
bit.ly/bem-font
BEM-GRID
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 46 / 61
bit.ly/bem-grid
8 / 94
BEM-SOCIAL
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
bit.ly/bem-social
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 48 / 61
bit.ly/bem-forms
BEM-FORMS
ВНУТРЕННИЕ РАЗРАБОТКИ
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
• bem-factory • manufactura-bl • factory-fonts • свой project-stub • продукты
49 / 61
ИТОГИ
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
• Полное разделение ответственности у разработчиков • Автоматизация многих процессов • Реиспользуемый код • Библиотеки блоков • Один язык общения для всей команды • Простая поддержка кода • Уменьшились сроки разработки
50 / 61
ПРО СРОКИ
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 51 / 61
МЭР ГУБЕРНАТОР
Frontend 198 217
Backend 180 80
378 часов 297 часов(- 81 час)
первые результаты
ПРО СРОКИ
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 52 / 61
сегодня
• бэкенд на 25% – 40% быстрее • фронтенд на 0% – 10% быстрее (ожидаем еще ускорения)
Ускорение за счет
• малой связности бэкенда и фронтенда • библиотек блоков и реиспользуемого кода • продуктового подхода к разработке
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 53 / 61
Бэкенд Фронтенд
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 54 / 61
ПРОДУКТОВАЯ ИСТОРИЯ
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 49 / 60
bit.ly/factory-redactor
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 49 / 60
bit.ly/factory-redactor
ПРОДУКТОВАЯ ИСТОРИЯ
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
• Блочный редактор текста для сайтов СМИ • Интерфейс управления сайтом • Быстрые сайты (три пакета) • Технологичные лендинги • Поддержка проектов
58 / 61
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn
@VOISCHEV
60 / 61
THANKUwww.factory.mn
МАНУФАКТУРАИнтерактивное агентство
voischev.ivan@ya.ru@voischev
voischev
СПАСИБО
ВОИЩЕВИВАН
Как мы жили до БЭМа и к чему пришли с ним • Воищев Иван • Factory.mn 61 / 61
Recommended