Сергей Максимов — bem-mvc, или как клеить моделей

32
bem-mvc, или как клеить моделей Сергей Максимов BEMup в рамках YaC 2013, Москва

Upload: yandex

Post on 13-Jul-2015

650 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Сергей Максимов — bem-mvc, или как клеить моделей

bem-mvc, или как клеить моделейСергей МаксимовBEMup в рамках YaC 2013, Москва

Page 2: Сергей Максимов — bem-mvc, или как клеить моделей

Яндекс.Директ

Особенности

Формы с большим количеством полей

Поля формы могут зависеть друг от друга

Полем формы может быть сложный элемент (другая форма)

Все данные нужно валидировать

2

Page 3: Сергей Максимов — bem-mvc, или как клеить моделей

i-bem, anybody?

3

Page 4: Сергей Максимов — bem-mvc, или как клеить моделей

i-bem block

Page 5: Сергей Максимов — bem-mvc, или как клеить моделей

Еще один велосипед

Page 6: Сергей Максимов — bem-mvc, или как клеить моделей

Почему велосипед?

Требования

декларативность

i-bem ориентированность

автоматизация рутинных действий

Доработка существующих решений была бы равносильна разработке собственной.

6

Page 7: Сергей Максимов — bem-mvc, или как клеить моделей

Составные части

7

M i-model модели, неймспейс BEM.MODEL

V * любой i-bem блок

C i-glueблок “проклеивающий”

модель и DOM-представление

Page 8: Сергей Максимов — bem-mvc, или как клеить моделей

Ммм... модели

Page 9: Сергей Максимов — bem-mvc, или как клеить моделей

Модели. Декларация

9

Page 10: Сергей Максимов — bem-mvc, или как клеить моделей

Модели. Декларация

10

Page 11: Сергей Максимов — bem-mvc, или как клеить моделей

Модели. Валидация

11

Page 12: Сергей Максимов — bem-mvc, или как клеить моделей

Модели. Создание

12

Page 13: Сергей Максимов — bem-mvc, или как клеить моделей

Модели. Создание

13

Page 14: Сергей Максимов — bem-mvc, или как клеить моделей

Модели. Хранилище

14

Page 15: Сергей Максимов — bem-mvc, или как клеить моделей

Модели. Работа с полями

15

Page 16: Сергей Максимов — bem-mvc, или как клеить моделей

Поля модели. ТипыПростые

string

number

boolean

Составные

array

model

model-list16

Page 17: Сергей Максимов — bem-mvc, или как клеить моделей

Модели. События

17

Page 18: Сергей Максимов — bem-mvc, или как клеить моделей

i-glue

Page 19: Сергей Максимов — bem-mvc, или как клеить моделей

i-glue

Page 20: Сергей Максимов — bem-mvc, или как клеить моделей

Блок баннер

20

Page 21: Сергей Максимов — bem-mvc, или как клеить моделей

Биндинги. i-glue

21

Page 22: Сергей Максимов — bem-mvc, или как клеить моделей

Биндинги. i-glue

22

Page 23: Сергей Максимов — bem-mvc, или как клеить моделей

Биндинги. i-glue

23

Page 24: Сергей Максимов — bem-mvc, или как клеить моделей

Биндинги. model-field

24

Page 25: Сергей Максимов — bem-mvc, или как клеить моделей

Биндинги. model-field

25

Page 26: Сергей Максимов — bem-mvc, или как клеить моделей

Биндинги. model-field

26

Page 27: Сергей Максимов — bem-mvc, или как клеить моделей

Биндинги. Типы model-field

Контролы

input

select

checkbox

View

inline

mod

27

Page 28: Сергей Максимов — bem-mvc, или как клеить моделей

Биндинги. Почему не data-атрибуты?

28

Примиксованные блоки позволяют

Не обходить весь DOM

Работать с биндингом, как с i-bem блоком

Просто создавать собственные

Page 29: Сергей Максимов — bem-mvc, или как клеить моделей

DEMO

Page 30: Сергей Максимов — bem-mvc, или как клеить моделей

Репозиторий

github.com/bem/bem-mvc

30

Page 31: Сергей Максимов — bem-mvc, или как клеить моделей

31

Сергей МаксимовРуководитель группы интерфейсов Справочника и Директа

[email protected]@dosyara

Page 32: Сергей Максимов — bem-mvc, или как клеить моделей

Спасибо