Сергей Бережной "Про шаблонизаторы вообще и bemhtml в...

88
Я.Субботник, Москва, 8 сентября 2012 года С ергей Бережной руководитель отдела разработки поисковых интерфейсов Про шаблонизаторы вообще и BEMHTML в частности

Upload: yandex

Post on 15-Jun-2015

1.504 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

Я.Субботник, Москва, 8 сентября 2012 года

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

Про шаблонизаторы вообще

и BEMHTML в частности

Page 14: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

— по семантике

— data bind

Многообразие видов

var html = 'Шоколад ни в чем не виноват,' + '<span class="name"/>.' , data = { username: 'John Smith' } , map = plates.Map();

map.class('name').to('username');plates.bind(html, data, map);

Шаблонизаторы вообще

14

Page 20: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

— по семантике

— data driven

Многообразие видов

<xsl:template match="username"> <span class="name"> <xsl:apply-templates/> </span></xsl:template>

Шоколад ни в чем не виноват, <username>John Smith</username>.Вы просто созданы для лепрозория, <username>veged</username>!

Шаблонизаторы вообще

20

Page 21: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

— по семантике

— data driven

Многообразие видов

Шоколад ни в чем не виноват, <span class="name">John Smith</span>.Вы просто созданы для лепрозория, <span class="name">veged</span>!

Шаблонизаторы вообще

21

Page 28: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

Многообразие видовШаблонизаторы вообще

28

— по семантике

— по синтаксису

— текст в финальном виде + вставки

— сокращённый синтаксис

— предметно-ориентированный синтаксис

Page 29: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

Многообразие видов

<xsl:template match="username"> <span class="name"> <xsl:apply-templates/> </span></xsl:template>

Шаблонизаторы вообще

29

— по семантике

— по синтаксису

— предметно-ориентированный синтаксис

Page 30: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

Многообразие видов

var html = 'Шоколад ни в чем не виноват,<span class="name"/>.' , data = { username: 'John Smith' } , map = plates.Map();

map.class('name').to('username');plates.bind(html, data, map);

Шаблонизаторы вообще

30

— по семантике

— по синтаксису

— предметно-ориентированный синтаксис

Page 41: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

— разделение HTML и логики представления

— гибкая библиотека блоков

Задачи

[% BLOCK menu %] <ul> [% FOREACH item IN items %] [% PROCESS item content = i %] [% END %] </ul>[% END %]

…и BEMHTML в частности

41

Page 76: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

Где применять…и BEMHTML в частности

76

— возможность исполнять JavaScript

— много HTML

— HTML+CSS пишут отдельные специалисты

— БЭМ, хотя бы в CSS

— частые итерации изменения HTML+CSS

Page 77: Сергей Бережной "Про шаблонизаторы вообще и BEMHTML в частности"

Где применять…и BEMHTML в частности

77

— возможность исполнять JavaScript

— много HTML

— HTML+CSS пишут отдельные специалисты

— БЭМ, хотя бы в CSS

— частые итерации изменения HTML+CSS

— есть общие блоки