Конструктор / Денис Паясь (Яндекс)

67
1

Upload: ontico

Post on 09-Jan-2017

313 views

Category:

Engineering


8 download

TRANSCRIPT

Page 1: Конструктор / Денис Паясь (Яндекс)

1

Page 2: Конструктор / Денис Паясь (Яндекс)

Конструктор

2

Page 3: Конструктор / Денис Паясь (Яндекс)

3

Page 4: Конструктор / Денис Паясь (Яндекс)

Команда

МоскваСанкт-Петербург

Екатеринбург

Симферополь

Минск

Киев

35 Фронтендеров 6 городов

4

Page 5: Конструктор / Денис Паясь (Яндекс)

Источник: http://giphy.com/posts/10-best-minions-gifsИсточник:http://img0.ndsstatic.com/wallpapers/c42ac6a0c2aaee69c79955d1d32c54b4_large.jpeg5

Page 6: Конструктор / Денис Паясь (Яндекс)

6

Page 7: Конструктор / Денис Паясь (Яндекс)

7

Page 8: Конструктор / Денис Паясь (Яндекс)

Source

Source

priv.js браузер пользователя Report

Source

Backend Frontend

8

Page 9: Конструктор / Денис Паясь (Яндекс)

Разработка: v.0

Собираем данные

9

Page 10: Конструктор / Денис Паясь (Яндекс)

{ "type": “new-devices" "models": [{ "category_id": "91491", "img_src": "//mdata.yandex.net/i?...", "name": "Apple iPhone 6 Plus 16Gb", "url": “//market.yandex.ru/product/...", }, { "category_id": "91491", "img_src": "//mdata.yandex.net/...", "name": "Apple iPhone 5S 32Gb восстановленный", "url": "//market.yandex.ru/product/...", }]}

Фича: колдунщик новых девайсов

10

Page 11: Конструктор / Денис Паясь (Яндекс)

Разработка: v.0

Собираем данные

Рисуем дизайн

11

Page 12: Конструктор / Денис Паясь (Яндекс)

{ "type": “new-devices" "models": [{ "category_id": "91491", "img_src": "//mdata.yandex.net/i?...", "name": "Apple iPhone 6 Plus 16Gb", "url": “//market.yandex.ru/product/...", }, { "category_id": "91491", "img_src": "//mdata.yandex.net/...", "name": "Apple iPhone 5S 32Gb восстановленный", "url": "//market.yandex.ru/product/...", }]}

Фича: колдунщик новых девайсов

12

Page 13: Конструктор / Денис Паясь (Яндекс)

Разработка: v.0

Собираем данные

Рисуем дизайн

Создаем компонент

Базовые блоки

13

Page 14: Конструктор / Денис Паясь (Яндекс)

Разработка: v.0

Собираем данные

Рисуем дизайн

Создаем компонент

Базовые блоки

Тестируем

14

Page 15: Конструктор / Денис Паясь (Яндекс)

Тестирование

1. Все браузеры и платформы (десктоп, планшеты, телефоны)

2. Счетчики

3. Поведение фичи на реальных данных

15

Page 16: Конструктор / Денис Паясь (Яндекс)

Разработка: v.0

Собираем данные

Рисуем дизайн

Создаем компонент

Базовые блоки

Тестируем В продакшн!

16

Page 17: Конструктор / Денис Паясь (Яндекс)

Фича: колдунщик новых девайсов/blocks /feature-new-devices

17

Page 18: Конструктор / Денис Паясь (Яндекс)

Прошёл месяц

18

Page 19: Конструктор / Денис Паясь (Яндекс)

Фича: Колдунщик Одежды{ "type": "clothing" "data": { "category_name": "Женские платья", "clusters": [{ "currency": " руб.", "picture": “//0.cs-ellpic.yandex.net/…”, "price": "7483", "url": “//market.yandex.ru/product/1642…”, }, { "currency": " руб.", "picture": “//0.cs-ellpic.yandex.net/…”, "price": "805", "url": “//market.yandex.ru/…”, }] }}

19

Page 20: Конструктор / Денис Паясь (Яндекс)

20

Page 21: Конструктор / Денис Паясь (Яндекс)

/blocks /feature-new-devices /feature-clothing

21

Page 22: Конструктор / Денис Паясь (Яндекс)

Проходит время…

22

Page 23: Конструктор / Денис Паясь (Яндекс)

Фича: Еще один колдунщик{ "type": “yet-another-feature“ "data": { "clusters": [{ "currency": “руб.", "model": “Lumia 920", "img": “//0.cs-ellpic.yandex.net/…”, "price": "16100", "url": “//market.yandex.ru/product/1642…”, "feedback_count": "10", }, { "currency": “руб.", "model": “808 Pure View", "img": “//0.cs-ellpic.yandex.net/…”, "price": "16100", "url": “//market.yandex.ru/…”, "feedback_count": "1032", }] }}

23

Page 24: Конструктор / Денис Паясь (Яндекс)

/blocks /feature-new-devices /feature-clothing /feature-vendor

24

Page 25: Конструктор / Денис Паясь (Яндекс)

и ещё…

25

Page 26: Конструктор / Денис Паясь (Яндекс)

/blocks /feature-new-devices /feature-clothing /feature-vendor /feature-something …

26

Page 27: Конструктор / Денис Паясь (Яндекс)

и опять…

27

Page 28: Конструктор / Денис Паясь (Яндекс)

/blocks /feature-new-devices /feature-clothing /feature-vendor /feature-something /feature-oh-shi …

28

Page 29: Конструктор / Денис Паясь (Яндекс)

Источник: pinterest.com/pin/166140673726880415/29

Page 30: Конструктор / Денис Паясь (Яндекс)

В чем проблема-то?

1. Фичи делаются ДОЛГО.

2. Приводить их к одному виду - АД.

30

Page 31: Конструктор / Денис Паясь (Яндекс)

Почему ?

31

Page 32: Конструктор / Денис Паясь (Яндекс)

Дизайн

32

Page 33: Конструктор / Денис Паясь (Яндекс)

Решения

1. Дизайнеры начинают делать прототипы.

33

Page 34: Конструктор / Денис Паясь (Яндекс)

Решения

1. Дизайнеры начинают делать прототипы.

2. Depot - реестр компонент для дизайнеров.

34

Page 35: Конструктор / Денис Паясь (Яндекс)

35

Page 36: Конструктор / Денис Паясь (Яндекс)

Решения

1. Дизайнеры начинают делать прототипы.

2. Depot - реестр компонент для дизайнеров.

3. Construct - библиотека компонент.

36

Page 37: Конструктор / Денис Паясь (Яндекс)

Разработка: v.1

Собираем данные

Прототипируем дизайн

Создаем компонент

Construct

Тестируем В продакшн!

Depot

37

Page 38: Конструктор / Денис Паясь (Яндекс)

Фича: колдунщик туров

38

Page 39: Конструктор / Денис Паясь (Яндекс)

Время для следующей фичи

39

Page 40: Конструктор / Денис Паясь (Яндекс)

Фича: маркет

40

Page 41: Конструктор / Денис Паясь (Яндекс)

Источник: http://replygif.net/1288Источник: http://memesvault.com/wp-content/uploads/What-Meme-Face-08.jpg 41

Page 42: Конструктор / Денис Паясь (Яндекс)

Почему так произошло ?

42

Page 43: Конструктор / Денис Паясь (Яндекс)

Решения: Дизайн

1. Дизайнеры начинают делать прототипы.

2. Depot - реестр компонент для дизайнеров.

3. Construct - библиотека компонент для нас.

4. Версионирование & Cинхронизация.

43

Page 44: Конструктор / Денис Паясь (Яндекс)

44

Page 45: Конструктор / Денис Паясь (Яндекс)

Разработка: v.2

Собираем данные

Прототипируем дизайн

Создаем компонент

Construct

Тестируем В продакшен!

Depot

45

Page 46: Конструктор / Денис Паясь (Яндекс)

Все в Depot!

46

Page 47: Конструктор / Денис Паясь (Яндекс)

Решения

1. Дизайнеры начинают делать прототипы.

2. Depot - реестр компонент для дизайнеров.

3. Construct - библиотека компонент для нас

4. Версионирование & синхронизация

5. Адаптеры.

47

Page 48: Конструктор / Денис Паясь (Яндекс)

Адаптеры

48

Page 49: Конструктор / Денис Паясь (Яндекс)

Адаптер

1. Чистая функция.

2. Один адаптер - одна фича.

3. Абсолютно независим от других адаптеров.

49

Page 50: Конструктор / Денис Паясь (Яндекс)

Адаптеры

Код бэкенда Адаптер Конструктор

Произвольные данные

Данные в формате API конструктора

Браузер

Разметка

50

Page 51: Конструктор / Денис Паясь (Яндекс)

Решения

1. Дизайнеры начинают делать прототипы.

2. Depot - реестр компонент для дизайнеров.

3. Construct - библиотека компонент для нас.

4. Версионирование & синхронизация.

5. Адаптеры.

6. Разработка компонент и фич - раздельные процессы.

51

Page 52: Конструктор / Денис Паясь (Яндекс)

Разработка: v.3

Собираем данные

Прототипируем дизайн

ConstructDepot Тестируем

В продакшн!

ТестыАдаптер

52

Page 53: Конструктор / Денис Паясь (Яндекс)

А зачем фронтам писать адаптеры ?

53

Page 54: Конструктор / Денис Паясь (Яндекс)

Решения

1. Дизайнеры начинают делать прототипы.

2. Depot - реестр компонент для дизайнеров.

3. Construct - библиотека компонент для нас.

4. Версионирование & синхронизация.

5. Адаптеры.

6. Разработка блоков и фич - раздельные процессы.

7. Адаптеры для всех :)

54

Page 55: Конструктор / Денис Паясь (Яндекс)

Не все менеджеры умеют git и вот это всё

55

Page 56: Конструктор / Денис Паясь (Яндекс)

Менеджеры и код

1. Web Морда, через которую можно просто прокинуть данные и написать адаптер.

56

Page 57: Конструктор / Денис Паясь (Яндекс)

Менеджеры и код

1. Web Морда, через которую можно просто прокинуть данные и написать адаптер.

2. Документация, чтобы менеджеры знали, что, собственно, писать :)

57

Page 58: Конструктор / Денис Паясь (Яндекс)

Веб интерфейс

58

Page 59: Конструктор / Денис Паясь (Яндекс)

59

Page 60: Конструктор / Денис Паясь (Яндекс)

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

60

Page 61: Конструктор / Денис Паясь (Яндекс)

61

Page 62: Конструктор / Денис Паясь (Яндекс)

К чему мы в итоге пришли

62

Page 63: Конструктор / Денис Паясь (Яндекс)

Профиты

1. Вместо недель фича делается за часы.

2. И зачастую даже не нами :)

3. Консистентность дизайна.

63

Page 64: Конструктор / Денис Паясь (Яндекс)

Разработка: v.3

Собираем данные

Прототипируем дизайн

ConstructDepot Тестируем

В продакшн!

ТестыАдаптер

64

Page 65: Конструктор / Денис Паясь (Яндекс)

Решения

1. Дизайнеры начинают делать прототипы.

2. Depot - реестр компонент для дизайнеров.

3. Construct - библиотека компонент.

4. Версионирование & синхронизация.

5. Адаптеры.

6. Разработка компонент и фич - раздельные процессы.

7. Адаптеры для всех :)

65

Page 66: Конструктор / Денис Паясь (Яндекс)

Вы можете использовать наш опыт

66

Page 67: Конструктор / Денис Паясь (Яндекс)

Денис Паясь

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

Контакты

@twitter

facebook

+7 (966) 384 88 44

[email protected] источник: http://gif-finder.com/wp-content/uploads/2014/08/Minions-Joy.gif

67