86
Компонентный веб Проникновение в дизайн Антон Виноградов, Альфа-Лаборатория FrontendConf 2015, 21-22 мая 1

Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

  • Upload
    ontico

  • View
    434

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Компонентный вебПроникновение в дизайн

Антон Виноградов, Альфа-Лаборатория

FrontendConf 2015, 21-22 мая

1

Page 2: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Антон Виноградов

Разработчик интерфейсов Альфа-Лаборатория

- более 3 лет занимаюсь фронтендом - евангелист и БЭМ-контрибьютор - автор OpenSource решений

@awinogradov

2

Page 3: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

3

Page 4: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

4

Page 5: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

5

Page 6: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

6

Page 7: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

7

Page 8: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Везде одно и тоже…

8

Page 9: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Везде одно и тоже

• не те подходы

• не те методологии

• и инструменты не те

9

Page 10: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Везде одно и тоже ;-)

Page 11: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Оживляем UI Kit

11

Page 12: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Оживляем UI Kit

• дизайнер в фотошопе

12

Page 13: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Оживляем UI Kit

• дизайнер в фотошопе

• разрабы во фреймворках

13

Page 14: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Оживляем UI Kit

• дизайнер в фотошопе

• разрабы во фреймворках

• компонентный веб

14

Page 15: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Оживляем UI Kit

• дизайнер в фотошопе

• разрабы во фреймворках

• компонентный веб

• генераторы гайдов

15

Page 16: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Оживляем UI Kit

• дизайнер в фотошопе

• разрабы во фреймворках

• компонентный веб

• генераторы гайдов

• дизайн в браузере

16

Page 17: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Оживляем UI Kit

• дизайнер в фотошопе

• разрабы во фреймворках

• компонентный веб

• генераторы гайдов

• дизайн в браузере

• учимся верстать

17

Page 18: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Все это про разработку…

Page 19: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Это не решает проблем взаимодействия дизайнера и разработчика

Page 20: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы

• нет синхронизации

• разная методология

• 2 набора компонент

• изменения в одну сторону

• визуальное наследование

• верстка умерла

20

Page 21: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 22: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Дизайн в депрессии…

Page 23: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Решения

• одна методология на всех

• один набор компонент

• один принцип организации

• версионность везде

• живые компоненты первичны

• наследование на уровнереализации компонент

• максимум повторного использования

23

Page 24: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Компонентный дизайн

24

Page 25: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 26: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Дать живые компоненты дизайнерам

Page 27: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 28: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

corebasecompanyservice

Page 29: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 30: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

30

Page 31: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

31

Page 32: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

32

Page 33: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 34: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

BEMHTML

bit.ly/bemhtml-tmpl

Page 35: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Кнопка

35

Page 36: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

BEMHTML

36

Page 37: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

ReactJS

37

Page 38: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

JSON

38

Page 39: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

HTML

39

Page 40: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

common

desktop

common

touch

Схема наложения уровней кода

40

Page 41: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 42: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 43: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

BEMHTML

43

Page 44: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

ReactJS

44

Page 45: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

JSON

45

Page 46: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

SVG

46

Page 47: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

common

desktop

common

touch

Новая схема наложения уровней кода

sketch sketch

47

Page 48: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 49: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Структура

49

Page 50: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

CSS

50

common.blocks/button/button.css common.blocks/button/__text/button__text.css

Page 51: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

CSSTOATTRS

51

Page 52: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

52

Page 53: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

PROFIT!!!

53

Page 54: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

IT WORK!

54

bit.ly/svg-xmpl

Page 55: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Нет предела совершенству

Page 56: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

ENB

bit.ly/enb-techs

Page 57: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 58: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 59: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

the

ProteinToolkit

Page 60: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

the

Page 61: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

save

the

Page 62: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

save watcher

the

Page 63: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

save watcher parse

the

Page 64: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

save watcher parse commit

the

Page 65: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

save watcher parse commit push

the

Page 66: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

save watcher parse commit push PR

the

Page 67: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

the

Page 68: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

PR

the

Page 69: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

hookPR

the

Page 70: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

hook watcherPR

the

Page 71: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

hook watcher pullPR

the

Page 72: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

the

hook watcher rebuildpullPR

Page 73: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

the

hook watcher rebuild reloadpullPR

Page 74: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

the

ProteinFront end development workflow

Page 75: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

the

Protein

Page 76: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы???

Page 77: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы

77

Page 78: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы

• разбор составных CSS свойств

78

Page 79: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы

• разбор составных CSS свойств

• размерность компонентов

79

sketch.blocks/button/button.css

Page 80: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы

• разбор составных CSS свойств

• размерность компонентов

• позиционирование

80

sketch.blocks/button/__text/button__text.css

Page 81: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы

• разбор составных CSS свойств

• размерность компонентов

• позиционирование

• именования

81

Page 82: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы

• разбор составных CSS свойств

• размерность компонентов

• позиционирование

• именования

• разбор состояний

82

Page 83: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Проблемы

• разбор составных CSS свойств

• размерность компонентов

• позиционирование

• именования

• разбор состояний

• программная специфика: атрибуты, символы, ограничения

83

Page 84: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Результат

• одна библиотека компонент

• нет кучи дизайнерских версий

• всё под контролем

• все в теме

• один язык общения

• нет дублирования работы

84

Page 85: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)
Page 86: Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк", Альфа-Лаборатория)

Спасибо!

theprotein.io

github.com/theprotein/svg-example

bem.info

bit.ly/fconf-comp-design

@awinogradov