Download - Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Transcript
Page 1: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

руководитель отделаразработки поисковых интерфейсов

Клиентский JavaScriptв БЭМ-терминахСергей Бережной

Page 44: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Инициализация

• HTML «оживляется» с помощью JS– прогрессивный рендеринг– unobtrusive– агенты без JS

• DOM строится из JS– простая связь HTML и JS

35

Page 80: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

BEM.DOM.decl('my-block', { /* методы и поля экземпляра */ }, { live: function() { this.liveInitOnEvent(...) .liveInitOnBlockEvent(...) .liveInitOnBlockInsideInit(...) .liveInitOnBlockInsideEvent(...) .liveInitOnBlockInit(...) } })

Ленивая инициализация

67

Page 142: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что было?

• способ декларации блоков для клиентского JS• императивная и декларативная инициализация• параметры из HTML в JS• динамическая инициализация и destruct

111

Page 143: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что было?

• способ декларации блоков для клиентского JS• императивная и декларативная инициализация• параметры из HTML в JS• динамическая инициализация и destruct• ленивая инициализация

111

Page 144: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что было?

• способ декларации блоков для клиентского JS• императивная и декларативная инициализация• параметры из HTML в JS• динамическая инициализация и destruct• ленивая инициализация• состояния инициализации

111

Page 145: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что было?

• способ декларации блоков для клиентского JS• императивная и декларативная инициализация• параметры из HTML в JS• динамическая инициализация и destruct• ленивая инициализация• состояния инициализации• БЭМ

111

Page 146: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что было?

• способ декларации блоков для клиентского JS• императивная и декларативная инициализация• параметры из HTML в JS• динамическая инициализация и destruct• ленивая инициализация• состояния инициализации• БЭМ• файлы и сборка

111

Page 147: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что было?

• способ декларации блоков для клиентского JS• императивная и декларативная инициализация• параметры из HTML в JS• динамическая инициализация и destruct• ленивая инициализация• состояния инициализации• БЭМ• файлы и сборка• библиотеки блоков

111

Page 153: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что дальше?

• параллели с собственным опытом– всё примерно так и делаю– есть похожие проблемы, не знал как решать– нет таких проблем

113

Page 154: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что дальше?

• параллели с собственным опытом– всё примерно так и делаю– есть похожие проблемы, не знал как решать– нет таких проблем

• использовать

113

Page 155: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что дальше?

• параллели с собственным опытом– всё примерно так и делаю– есть похожие проблемы, не знал как решать– нет таких проблем

• использовать– i-bem.js

113

Page 156: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

Что дальше?

• параллели с собственным опытом– всё примерно так и делаю– есть похожие проблемы, не знал как решать– нет таких проблем

• использовать– i-bem.js– реализовать самостоятельно

113

Page 158: Сергей Бережной "Клиентский JavaScript в БЭМ-терминах: от блока до библиотеки"

руководитель отделаразработкипоисковых интерфейсов

[email protected]

Спасибо

Сергей Бережной

@veged

github.com/veged