SlideShare a Scribd company logo
1 of 136
Download to read offline
Сайт с нуля на полном стеке 
БЭМ-технологий 
Жека Константинов, Дима Белицкий
Дима Белицкий 
2 
dmtry@yandex-team.ru 
@dabelitsky 
github.com/dab 
Разработчик интерфейсов в 
Яндексе
Жека Константинов 
3 
3 
sipayrt@yandex-team.ru 
@sipayrt 
github.com/sipayrt 
разработчик интерфейсов в 
Яндексе
О чем поговорим? 
Методолгия 
Шаблонизация и обмен данными 
JavaScript + BEM 
Все — на примере демо-проекта 
4
БЭМ — что это? 
Методология БЭМ на bem.info bit.ly/1hMHNB2 
Доклад Вовы Гриненко про методологию БЭМ и БЭМ-платформу bit.ly/1hMCKk5 
5
Вся история БЭМ 
История БЭМ на bem.info bit.ly/1eAsQBo 
Доклад Витали Харисова про историю БЭМ bit.ly/1m8ijzQ 
6
BEMJSON 
bit.ly/bemjson
BEMHTML
Декларативность 
9
Декларативность 
9 
условие {тело шаблона}
Декларативность 
9 
условие {тело шаблона} 
.island__header { display: inline-block; }
Декларативность 
9 
условие {тело шаблона} 
.island__header { display: inline-block; } 
block('island').elem('header')( 
tag()('a') 
)
BEMJSON 
входные данные 
10
BEMHTML 
декларативный шаблон 
11
HTML 
результат 
12
Шаблон BEMHTML. Моды 
13
Шаблон BEMHTML. Моды 
14
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод 
tag — генерация HTML тэга
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод 
tag — генерация HTML тэга 
js — наличие js и параметры
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод 
tag — генерация HTML тэга 
js — наличие js и параметры 
bem — генерация классов БЭМ-сущности
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод 
tag — генерация HTML тэга 
js — наличие js и параметры 
bem — генерация классов БЭМ-сущности 
cls — кастомные классы
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод 
tag — генерация HTML тэга 
js — наличие js и параметры 
bem — генерация классов БЭМ-сущности 
cls — кастомные классы 
mix — несколько БЭМ-блоков на одной DOM-ноде
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод 
tag — генерация HTML тэга 
js — наличие js и параметры 
bem — генерация классов БЭМ-сущности 
cls — кастомные классы 
mix — несколько БЭМ-блоков на одной DOM-ноде 
jsAttrs — имя HTML-атрибута для параметров клиентского js
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод 
tag — генерация HTML тэга 
js — наличие js и параметры 
bem — генерация классов БЭМ-сущности 
cls — кастомные классы 
mix — несколько БЭМ-блоков на одной DOM-ноде 
jsAttrs — имя HTML-атрибута для параметров клиентского js 
attrs — позволяет задать имена и значения произвольных HTML-атрибутов
Шаблон BEMHTML. Моды 
14 
default — набор и порядок прохождения остальных мод 
tag — генерация HTML тэга 
js — наличие js и параметры 
bem — генерация классов БЭМ-сущности 
cls — кастомные классы 
mix — несколько БЭМ-блоков на одной DOM-ноде 
jsAttrs — имя HTML-атрибута для параметров клиентского js 
attrs — позволяет задать имена и значения произвольных HTML-атрибутов 
content — содержимое HTML-элемента
Представление БЭМ-сущностей 
15
Представление БЭМ-сущностей 
15 
{ block: 'b-menu' }
Представление БЭМ-сущностей 
15 
{ block: 'b-menu' } 
{ elem: 'item' }
Представление БЭМ-сущностей 
15 
{ block: 'b-menu' } 
{ elem: 'item' } 
{ 
block: 'b-link', 
mods: { pseudo: 'yes', color: 'green' } 
}
Представление БЭМ-сущностей 
15 
{ block: 'b-menu' } 
{ elem: 'item' } 
{ 
block: 'b-link', 
mods: { pseudo: 'yes', color: 'green' } 
} 
{ 
elem: 'item', 
elemMods: { selected: 'yes' } 
}
Представление БЭМ-сущностей 
15 
{ block: 'b-menu' } 
{ elem: 'item' } 
{ 
block: 'b-link', 
mods: { pseudo: 'yes', color: 'green' } 
} 
{ 
elem: 'item', 
elemMods: { selected: 'yes' } 
} 
{ 
block: 'b-link', 
mix: [ { block: 'b-serp-item', elem: 'link' } ] 
}
Представление HTML 
16
Представление HTML 
16 
{ block: 'my-block', tag: 'img' }
Представление HTML 
16 
{ block: 'my-block', tag: 'img' } 
{ block: 'my-block', tag: 'img', attrs: { src: ‘…', alt: '' }}
Представление HTML 
16 
{ block: 'my-block', tag: 'img' } 
{ block: 'my-block', tag: 'img', attrs: { src: ‘…', alt: '' }} 
{ block: 'my-block', cls: 'additional-class' }
Представление HTML 
16 
{ block: 'my-block', tag: 'img' } 
{ block: 'my-block', tag: 'img', attrs: { src: ‘…', alt: '' }} 
{ block: 'my-block', cls: 'additional-class' } 
{ block: ‘page', tag: ‘html', bem: false }
Представление HTML 
16 
{ block: 'my-block', tag: 'img' } 
{ block: 'my-block', tag: 'img', attrs: { src: ‘…', alt: '' }} 
{ block: 'my-block', cls: 'additional-class' } 
{ block: ‘page', tag: ‘html', bem: false } 
{ block: ‘my-block', js: true }
BEMHTML Руководство пользователя 
17
BEMHTML Руководство пользователя 
17 
Это и многое другое на нашем сайте bit.ly/bemhtmlref
Двухэтапная 
шаблонизация
data → view → HTML
data → БЭМ-дерево → HTML
data + BEMTREE → BEMJSON 
! 
BEMJSON + BEMHTML → HTML
BEMTREE + BEMHTML
Декларативная шаблонизация
BEMTREE + BEMHTML 
24
BEMTREE + BEMHTML 
24 
декларативность
BEMTREE + BEMHTML 
24 
декларативность 
уровни переопределения
BEMTREE + BEMHTML 
24 
декларативность 
уровни переопределения 
работают с предметной областью БЭМ
BEMTREE + BEMHTML 
24 
декларативность 
уровни переопределения 
работают с предметной областью БЭМ 
единый синтаксис
JavaScript, BEMTREE и BEMHTML 
25
JavaScript, BEMTREE и BEMHTML 
25 
специализированные DSL, расширяющие JavaScript
JavaScript, BEMTREE и BEMHTML 
25 
специализированные DSL, расширяющие JavaScript 
можно использовать любые JavaScript конструкции
JavaScript, BEMTREE и BEMHTML 
25 
специализированные DSL, расширяющие JavaScript 
можно использовать любые JavaScript конструкции 
компилируются в оптимизированный JavaScript
JavaScript, BEMTREE и BEMHTML 
25 
специализированные DSL, расширяющие JavaScript 
можно использовать любые JavaScript конструкции 
компилируются в оптимизированный JavaScript 
исполняются на клиенте и сервере
Архитектура шаблонизации 
26
Шаблонизация данных в bem-core 
27
Шаблонизация данных в bem-core 
27 
bit.ly/bemcoretpl
Терминология 
28
Терминология 
28 
Мода — шаг генерации фрагмента BEMJSON 
фрагмента
Терминология 
28 
Мода — шаг генерации фрагмента BEMJSON 
фрагмента 
Предикат — набор условий
Терминология 
28 
Мода — шаг генерации фрагмента BEMJSON 
фрагмента 
Предикат — набор условий 
Подпредикаты — единичные (элементарные) условия
Терминология 
28 
Мода — шаг генерации фрагмента BEMJSON 
фрагмента 
Предикат — набор условий 
Подпредикаты — единичные (элементарные) условия 
this.ctx — фрагмент БЭМ-дерева с текущим узлом и 
вложенными сущностями
Шаблон BEMTREE. Моды 
29
Шаблон BEMTREE. Моды 
29 
пустая мода — имеет смысл только в том случае, если необходимо изменить 
принцип обхода входного дерева
Шаблон BEMTREE. Моды 
29 
пустая мода — имеет смысл только в том случае, если необходимо изменить 
принцип обхода входного дерева 
default — обработка стандартных мод
Шаблон BEMTREE. Моды 
29 
пустая мода — имеет смысл только в том случае, если необходимо изменить 
принцип обхода входного дерева 
default — обработка стандартных мод 
content — содержимое БЭМ-узла
Шаблон BEMTREE. Моды 
29 
пустая мода — имеет смысл только в том случае, если необходимо изменить 
принцип обхода входного дерева 
default — обработка стандартных мод 
content — содержимое БЭМ-узла 
кастомная мода — пользовательские мода, для специфичной обработки БЭМ-дерева
BEMTREE Руководство пользователя 
30
BEMTREE Руководство пользователя 
30 
bit.ly/bemtreeref
Отличия BEMHTML и BEMTREE 
31 
BEMTREE BEMHTML 
генерация БЭМ-дерева генерация HTML 
моды default, content, пустая 
все что в BEMTREE + генерация HTML 
(tag, js, cls, bem и т.д.) 
возвращает Vow-promise возвращает строку 
различный набор методов-хелперов
Шаблоны. Синтаксис 
32
Шаблоны. Синтаксис 
32 
match(подпредикат1, подпредикат2, подпредикат3)(тело);
Шаблоны. Синтаксис 
32 
match(подпредикат1, подпредикат2, подпредикат3)(тело); 
match(подпредикат 1).match(подпредикат 2)(тело1); 
match(подпредикат 1).match(подпредикат 3)(тело2)
Шаблоны. Синтаксис 
32 
match(подпредикат1, подпредикат2, подпредикат3)(тело); 
match(подпредикат 1).match(подпредикат 2)(тело1); 
match(подпредикат 1).match(подпредикат 3)(тело2) 
match(подпредикат1)( 
match(подпредикат2)(тело1), 
match(подпредикат3)(тело2) 
)
Шаблоны. Синтаксис 
33
Шаблоны. Синтаксис 
33 
match( 
this.block === 'link', 
function() { return this.ctx.icon; } 
) 
.content()(function() { 
return [{elem: 'icon'}, this.ctx.content]; 
});
Шаблоны. Синтаксис 
33 
match( 
this.block === 'link', 
function() { return this.ctx.icon; } 
) 
.content()(function() { 
return [{elem: 'icon'}, this.ctx.content]; 
}); 
block('link').elem('icon') 
.content()(function() { 
return {block: 'icon'}; 
});
Let’s code 
BEMHTML
Архитектура приложения 
API сервисов - сервер (сборщик данных) - bemjson - html 
35
Посмотрим 
код сервера 
BEMTREE
JavaScript + БЭМ
38 
Модульная система 
modules.define('i-bem', ['inherit'], function(provide, inherit) { 
var BEM = inherit(/* … */) 
provide(BEM) 
})
39 
Модульная система 
modules.require(['i-bem', 'jquery'], function(BEM, $) { 
/* код, использующий модули i-bem и jquery */ 
})
i-bem.js
Что такое i-bem.js 
41
Что такое i-bem.js 
41 
Блок, помогающий делать другие блоки
Что такое i-bem.js 
41 
Блок, помогающий делать другие блоки 
Реализация блока i-bem в технологии JavaScript
Что такое i-bem.js 
41 
Блок, помогающий делать другие блоки 
Реализация блока i-bem в технологии JavaScript 
jQuery для нормализации API браузера
Что дает i-bem.js 
42
Что дает i-bem.js 
42 
Работа с предметной областью БЭМ
Что дает i-bem.js 
42 
Работа с предметной областью БЭМ 
Декларативный подход
Что дает i-bem.js 
42 
Работа с предметной областью БЭМ 
Декларативный подход 
Возможность доопределения блоков
Блоки с JS-представлением
44 
Блоки с js-представлением 
{! 
!!!!block: 'form'! 
}
45 
Блоки с js-представлением 
{! 
!!!!block: 'form',! 
!!!!js: true! 
}
46 
Блоки с js-представлением 
{! 
!!!!block: 'form',! 
!!!!js: { p1: 'v1', p2: 'v2', … }! 
}
47 
Блоки с js-представлением 
<div class="form i-bem" ! 
!!!! data-bem="{ form: {} }" ></div>
48 
Блоки с js-представлением 
<div class="form i-bem" ! 
!!!! data-bem="{ form: {} }" ></div>
49 
Блоки с js-представлением 
<div class="form i-bem" ! 
!!!! data-bem="{ form: {} }" ></div>
50 
Блоки с js-представлением 
<div class="form i-bem" ! 
!!!! data-bem="{ ! 
!!!!!!!form: {! 
!!!!!!!!!!p1: 'v1',! 
!!!!!!!!!!p2: 'v2',! 
!!!!!!!!!!…! 
!!!!!!!} ! 
!!!!!}" ></div>
Декларация БЭМ-сущностей
52 
Декларация блока 
BEMDOM.decl('form', {! 
/* методы экземпляра блока */ 
}, {! 
/* методы класса */ 
});
53 
Декларация блока 
BEMDOM.decl('form', {! 
/* методы экземпляра блока */ 
}, {! 
/* методы класса */ 
});! 
! 
.form {! 
display: flex;! 
}
54 
BEMDOM.decl('form', { 
myMethod: function() { 
// экземпляр 
this 
// ссылка на класс 
this.__self 
// статический метод класса 
this.__self.myStaticMethod() 
// super-call 
this.__base() 
} 
});
55 
BEMDOM.decl('form', { /* … */ }, { 
myStaticMethod: function() { 
// класс 
this 
// super-call 
this.__base() 
} 
});
56 
Реакция на установку модификатора 
.form 
{ 
display: flex; 
} 
! 
.form_disabled 
{ 
opacity: .5; 
}
57 
Реакция на установку модификатора 
BEMDOM.decl('form', {! 
onSetMod: {! 
!!!! disabled: {! 
!!!!!!!!!!!'true': function() {! 
!!!!!!!!!!!!!!!...! 
!!!!!!!!!!!},! 
!!!!!!!!!!!'': function() {! 
!!!!!!!!!!!!!!!...! 
!!!!!!!!!!!}! 
!!!! }! 
!!!!}! 
});
58 
Реакция на установку модификатора 
BEMDOM.decl('form', {! 
onSetMod: {! 
!!!! disabled: function(modName, modVal) {! 
! 
/* как реагировать на установку модификатора */ 
! 
!!!! }! 
!!!!}! 
});
59 
Наследование 
BEMDOM.decl({! 
block: 'dialog', ! 
baseBlock: 'form'! 
}, {! 
/* методы экземпляра блока */ 
}, {! 
/* методы класса */ 
});
Инициализация
61 
Инициализация 
<div class="form i-bem" ! 
!!!! data-bem="{ 'form': {} }" /><div>
<div class="form i-bem form_js_inited" ! 
!!!! data-bem="{ 'form': {} }" /><div> 
62 
Инициализация
63 
Инициализация 
BEMDOM.decl('form', {! 
onSetMod: {! 
!!!! js: {! 
inited: function() {! 
/* конструктор блока */ 
}! 
!!!! }! 
!!!!}! 
});
Набор хелперов
Набор хелперов 
65
Набор хелперов 
65 
Поиск элементов и других блоков
Набор хелперов 
65 
Поиск элементов и других блоков 
Работа с модификаторами
Набор хелперов 
65 
Поиск элементов и других блоков 
Работа с модификаторами 
Работа с событиями
Набор хелперов 
65 
Поиск элементов и других блоков 
Работа с модификаторами 
Работа с событиями 
Перестроение DOM-дерева
66 
// селекторы блоков 
this.findBlockInside('button') 
this.findBlockOutside('page') 
this.findBlockOn('dialog')
67 
// селекторы блоков 
this.findBlockInside('button') 
this.findBlockOutside('page') 
this.findBlockOn('dialog') 
! 
// селекторы элементов 
this.findElem('control') 
this.elem('control')
68 
// селекторы блоков 
this.findBlockInside('button') 
this.findBlockOutside('page') 
this.findBlockOn('dialog') 
! 
// селекторы элементов 
this.findElem('control') 
this.elem('control') 
! 
// работа с модификаторами 
this.setMod('status', 'loading') 
this.hasMod('status', 'loading') 
this.getMod('status') 
this.delMod('status')
Работа с событиями 
69
Работа с событиями 
69 
DOM-события
Работа с событиями 
69 
DOM-события 
BEM-события
Работа с событиями 
69 
DOM-события 
BEM-события 
Каналы
70 
Работа с событиями 
// DOM-события 
this.bindTo('submit', function() { /*…*/ }) 
this.unbindFrom('submit')
71 
Работа с событиями 
// DOM-события 
this.bindTo('submit', function() { /*…*/ }) 
this.unbindFrom('submit') 
! 
// BEM-события 
this.on('update', function() { /*…*/ }) 
this.un('update', function() { /*…*/ }) 
this.emit('update')
И много чего ещё! 
72
И много чего ещё! 
72 
Блоки без DOM-представления
И много чего ещё! 
72 
Блоки без DOM-представления 
Отложенная инициализация
И много чего ещё! 
72 
Блоки без DOM-представления 
Отложенная инициализация 
Делегирование событий
И много чего ещё! 
72 
Блоки без DOM-представления 
Отложенная инициализация 
Делегирование событий 
Инстансы элементов
Очень полезные ссылки! 
! 
ym — github.com/ymaps/modules 
Генератор проектов — ru.bem.info/tools/bem/bem-stub 
Пошаговое руководство по i-bem.js — ru.bem.info/tutorials/bem-js-tutorial 
Если лень читать, то можно посмотреть видео — ru.bem.info/talks/bemup-moscow-2014 
! 
Ссылка на полную презентацию — clck.ru/9FST5 
73

More Related Content

What's hot

Библиотека bem-components — Ангелина Сидорцова, Яндекс
Библиотека bem-components  — Ангелина Сидорцова, ЯндексБиблиотека bem-components  — Ангелина Сидорцова, Яндекс
Библиотека bem-components — Ангелина Сидорцова, ЯндексYandex
 
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...Yandex
 
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, ЯндексТема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, Яндексyaevents
 
БЭМ в Мануфактуре РИФ-Воронеж 2014
БЭМ в Мануфактуре РИФ-Воронеж 2014БЭМ в Мануфактуре РИФ-Воронеж 2014
БЭМ в Мануфактуре РИФ-Воронеж 2014Ivan Voischev
 
Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"Yandex
 
BEM — block, element, modification conception
BEM — block, element, modification conceptionBEM — block, element, modification conception
BEM — block, element, modification conceptionVadim Patsev
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Ontico
 
Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)
Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)
Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)Yandex
 
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)Ontico
 
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, ЯндексBemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, ЯндексYandex
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)Ontico
 
архитектура крупных Word press сайтов
архитектура крупных Word press сайтовархитектура крупных Word press сайтов
архитектура крупных Word press сайтовМаксим Бровченко
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressIgor Sazonov
 
Отладка кода в браузере / Антон Шувалов (Rambler&Co)
Отладка кода в браузере / Антон Шувалов (Rambler&Co)Отладка кода в браузере / Антон Шувалов (Rambler&Co)
Отладка кода в браузере / Антон Шувалов (Rambler&Co)Ontico
 
Владимир Варанкин "БЭМ и JavaScript: Зачем мы написали JS-фреймворк?"
Владимир Варанкин "БЭМ и JavaScript: Зачем мы написали JS-фреймворк?"Владимир Варанкин "БЭМ и JavaScript: Зачем мы написали JS-фреймворк?"
Владимир Варанкин "БЭМ и JavaScript: Зачем мы написали JS-фреймворк?"Yandex
 
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvcСергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvcYandex
 
Lviv Euro Drupal Camp 2015_Как подружить дизайнеров и Drupal-разработчиков
Lviv Euro Drupal Camp 2015_Как подружить дизайнеров и Drupal-разработчиковLviv Euro Drupal Camp 2015_Как подружить дизайнеров и Drupal-разработчиков
Lviv Euro Drupal Camp 2015_Как подружить дизайнеров и Drupal-разработчиковdeWeb
 
Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...oelifantiev
 

What's hot (19)

Библиотека bem-components — Ангелина Сидорцова, Яндекс
Библиотека bem-components  — Ангелина Сидорцова, ЯндексБиблиотека bem-components  — Ангелина Сидорцова, Яндекс
Библиотека bem-components — Ангелина Сидорцова, Яндекс
 
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
 
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, ЯндексТема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
 
БЭМ в Мануфактуре РИФ-Воронеж 2014
БЭМ в Мануфактуре РИФ-Воронеж 2014БЭМ в Мануфактуре РИФ-Воронеж 2014
БЭМ в Мануфактуре РИФ-Воронеж 2014
 
Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"
 
BEM — block, element, modification conception
BEM — block, element, modification conceptionBEM — block, element, modification conception
BEM — block, element, modification conception
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
 
Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)
Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)
Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)
 
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
 
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, ЯндексBemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
архитектура крупных Word press сайтов
архитектура крупных Word press сайтовархитектура крупных Word press сайтов
архитектура крупных Word press сайтов
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
 
Отладка кода в браузере / Антон Шувалов (Rambler&Co)
Отладка кода в браузере / Антон Шувалов (Rambler&Co)Отладка кода в браузере / Антон Шувалов (Rambler&Co)
Отладка кода в браузере / Антон Шувалов (Rambler&Co)
 
Владимир Варанкин "БЭМ и JavaScript: Зачем мы написали JS-фреймворк?"
Владимир Варанкин "БЭМ и JavaScript: Зачем мы написали JS-фреймворк?"Владимир Варанкин "БЭМ и JavaScript: Зачем мы написали JS-фреймворк?"
Владимир Варанкин "БЭМ и JavaScript: Зачем мы написали JS-фреймворк?"
 
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvcСергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
Сергей Максимов — Мастер-класс: Организация приложения на основе bem-mvc
 
Lviv Euro Drupal Camp 2015_Как подружить дизайнеров и Drupal-разработчиков
Lviv Euro Drupal Camp 2015_Как подружить дизайнеров и Drupal-разработчиковLviv Euro Drupal Camp 2015_Как подружить дизайнеров и Drupal-разработчиков
Lviv Euro Drupal Camp 2015_Как подружить дизайнеров и Drupal-разработчиков
 
Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...
 

Viewers also liked

BEM for Javascript at CampJS III
BEM for Javascript at CampJS IIIBEM for Javascript at CampJS III
BEM for Javascript at CampJS IIIYandex
 
БЭМ в Мануфактуре
БЭМ в МануфактуреБЭМ в Мануфактуре
БЭМ в МануфактуреYandex
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEMVarya Stepanova
 
Тестирование CSS-регрессий с gemini – OdessaJS
Тестирование CSS-регрессий с gemini – OdessaJSТестирование CSS-регрессий с gemini – OdessaJS
Тестирование CSS-регрессий с gemini – OdessaJSSevInf
 
бэм методология
бэм методология бэм методология
бэм методология racoons
 
Flux + i bem = bem-store
Flux + i bem = bem-storeFlux + i bem = bem-store
Flux + i bem = bem-storeDmitry Dushkin
 
Замыкания и область видимости
Замыкания и область видимостиЗамыкания и область видимости
Замыкания и область видимостиRodion Golovushkin
 
Frontend в режиме реального времени [05.03.15]
Frontend в режиме реального времени [05.03.15]Frontend в режиме реального времени [05.03.15]
Frontend в режиме реального времени [05.03.15]GoIT
 
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийАлександр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийYandex
 
Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?Vitaly Hornik
 
Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 

Viewers also liked (14)

BEM for Javascript at CampJS III
BEM for Javascript at CampJS IIIBEM for Javascript at CampJS III
BEM for Javascript at CampJS III
 
БЭМ в Мануфактуре
БЭМ в МануфактуреБЭМ в Мануфактуре
БЭМ в Мануфактуре
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEM
 
Тестирование CSS-регрессий с gemini – OdessaJS
Тестирование CSS-регрессий с gemini – OdessaJSТестирование CSS-регрессий с gemini – OdessaJS
Тестирование CSS-регрессий с gemini – OdessaJS
 
бэм методология
бэм методология бэм методология
бэм методология
 
Bem для всех
Bem для всехBem для всех
Bem для всех
 
Flux + i bem = bem-store
Flux + i bem = bem-storeFlux + i bem = bem-store
Flux + i bem = bem-store
 
Замыкания и область видимости
Замыкания и область видимостиЗамыкания и область видимости
Замыкания и область видимости
 
Frontend в режиме реального времени [05.03.15]
Frontend в режиме реального времени [05.03.15]Frontend в режиме реального времени [05.03.15]
Frontend в режиме реального времени [05.03.15]
 
Files and JS
Files and JSFiles and JS
Files and JS
 
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийАлександр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
 
Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?
 
Portfolіo TestReport - DM
Portfolіo TestReport - DMPortfolіo TestReport - DM
Portfolіo TestReport - DM
 
Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 

Similar to Сайт с нуля на полном стеке БЭМ-технологий

Планы по разработке bem-core@v3 — Сергей Бережной, Яндекс
Планы по разработке bem-core@v3 — Сергей Бережной, ЯндексПланы по разработке bem-core@v3 — Сергей Бережной, Яндекс
Планы по разработке bem-core@v3 — Сергей Бережной, ЯндексYandex
 
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"Yandex
 
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Yandex
 
Сергей Татаринцев — bem-tools v1.0.0
Сергей Татаринцев — bem-tools v1.0.0Сергей Татаринцев — bem-tools v1.0.0
Сергей Татаринцев — bem-tools v1.0.0Yandex
 
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ  by Mikhail TroshevПрезентация к докладу про БЭМ  by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev1 1
 
Кир Белевич "Миксы во вселенной БЭМ"
Кир Белевич "Миксы во вселенной БЭМ"Кир Белевич "Миксы во вселенной БЭМ"
Кир Белевич "Миксы во вселенной БЭМ"Yandex
 
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...Yandex
 
Сергей Бережной — bem-core v1.0.0
Сергей Бережной — bem-core v1.0.0Сергей Бережной — bem-core v1.0.0
Сергей Бережной — bem-core v1.0.0Yandex
 
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"Yandex
 
Тема для WordPress в БЭМ
Тема для WordPress в БЭМТема для WordPress в БЭМ
Тема для WordPress в БЭМVarya Stepanova
 
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"Yandex
 
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"Yandex
 
Варвара Степанова "БЭМ и JavaScript: Сборник рецептов"
Варвара Степанова "БЭМ и JavaScript: Сборник рецептов"Варвара Степанова "БЭМ и JavaScript: Сборник рецептов"
Варвара Степанова "БЭМ и JavaScript: Сборник рецептов"Yandex
 
Александр Титула-Бойченко "Приложения для соцсетей. Универсальные приложения ...
Александр Титула-Бойченко "Приложения для соцсетей. Универсальные приложения ...Александр Титула-Бойченко "Приложения для соцсетей. Универсальные приложения ...
Александр Титула-Бойченко "Приложения для соцсетей. Универсальные приложения ...Yandex
 
Сергей Татаринцев — Написание модулей технологий для bem-tools
Сергей Татаринцев — Написание модулей технологий для bem-toolsСергей Татаринцев — Написание модулей технологий для bem-tools
Сергей Татаринцев — Написание модулей технологий для bem-toolsYandex
 
Владимир Алаев, Сергей Белов "Новые возможности bem-tools для автоматической ...
Владимир Алаев, Сергей Белов "Новые возможности bem-tools для автоматической ...Владимир Алаев, Сергей Белов "Новые возможности bem-tools для автоматической ...
Владимир Алаев, Сергей Белов "Новые возможности bem-tools для автоматической ...Yandex
 
Быстро о быстром
Быстро о быстромБыстро о быстром
Быстро о быстромRoman Dvornov
 
БЭМ в дикой природе
БЭМ в дикой природеБЭМ в дикой природе
БЭМ в дикой природеIhor Zenich
 

Similar to Сайт с нуля на полном стеке БЭМ-технологий (20)

Планы по разработке bem-core@v3 — Сергей Бережной, Яндекс
Планы по разработке bem-core@v3 — Сергей Бережной, ЯндексПланы по разработке bem-core@v3 — Сергей Бережной, Яндекс
Планы по разработке bem-core@v3 — Сергей Бережной, Яндекс
 
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"
 
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
 
Сергей Татаринцев — bem-tools v1.0.0
Сергей Татаринцев — bem-tools v1.0.0Сергей Татаринцев — bem-tools v1.0.0
Сергей Татаринцев — bem-tools v1.0.0
 
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ  by Mikhail TroshevПрезентация к докладу про БЭМ  by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev
 
Кир Белевич "Миксы во вселенной БЭМ"
Кир Белевич "Миксы во вселенной БЭМ"Кир Белевич "Миксы во вселенной БЭМ"
Кир Белевич "Миксы во вселенной БЭМ"
 
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
Жека Константинов, Дима Белицкий, Слава Аристов — Мастер-класс: разрабатываем...
 
Сергей Бережной — bem-core v1.0.0
Сергей Бережной — bem-core v1.0.0Сергей Бережной — bem-core v1.0.0
Сергей Бережной — bem-core v1.0.0
 
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
 
Тема для WordPress в БЭМ
Тема для WordPress в БЭМТема для WordPress в БЭМ
Тема для WordPress в БЭМ
 
Yac2012
Yac2012Yac2012
Yac2012
 
БЭМ
БЭМБЭМ
БЭМ
 
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"
Сергей Бережной "Экзотическая шаблонизация, или как писать HTML для блоков"
 
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
 
Варвара Степанова "БЭМ и JavaScript: Сборник рецептов"
Варвара Степанова "БЭМ и JavaScript: Сборник рецептов"Варвара Степанова "БЭМ и JavaScript: Сборник рецептов"
Варвара Степанова "БЭМ и JavaScript: Сборник рецептов"
 
Александр Титула-Бойченко "Приложения для соцсетей. Универсальные приложения ...
Александр Титула-Бойченко "Приложения для соцсетей. Универсальные приложения ...Александр Титула-Бойченко "Приложения для соцсетей. Универсальные приложения ...
Александр Титула-Бойченко "Приложения для соцсетей. Универсальные приложения ...
 
Сергей Татаринцев — Написание модулей технологий для bem-tools
Сергей Татаринцев — Написание модулей технологий для bem-toolsСергей Татаринцев — Написание модулей технологий для bem-tools
Сергей Татаринцев — Написание модулей технологий для bem-tools
 
Владимир Алаев, Сергей Белов "Новые возможности bem-tools для автоматической ...
Владимир Алаев, Сергей Белов "Новые возможности bem-tools для автоматической ...Владимир Алаев, Сергей Белов "Новые возможности bem-tools для автоматической ...
Владимир Алаев, Сергей Белов "Новые возможности bem-tools для автоматической ...
 
Быстро о быстром
Быстро о быстромБыстро о быстром
Быстро о быстром
 
БЭМ в дикой природе
БЭМ в дикой природеБЭМ в дикой природе
БЭМ в дикой природе
 

More from Yandex

Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 
Эталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовЭталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовYandex
 

More from Yandex (20)

Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 
Эталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатовЭталонное описание фильма на основе десятков дубликатов
Эталонное описание фильма на основе десятков дубликатов
 

Сайт с нуля на полном стеке БЭМ-технологий