SlideShare une entreprise Scribd logo
1  sur  130
Télécharger pour lire hors ligne
БЭМ


Владимир Варанкин
Разработчик интерфейсов
Блок
    Элемент
    Модификатор


3
Проекты в Яндексе




    •   Живут долго
    •   Делаются быстро
    •   Легко поддерживаются и развиваются
    •   Большая команда
    •   Много кода




4
Методология
Методология — учение об организации
    деятельности




6
Методология



Принципы БЭМ-методологии
Принципы БЭМ-методологии




    • разделение кода на части




8
Принципы БЭМ-методологии




    • разделение кода на части
    • общая предметная область




9
Общая предметная область




10
Общая предметная область




11
Общая предметная область




12
Общая предметная область




13
Общая предметная область




14
Общая предметная область




15
Принципы БЭМ-методологии




     • разделение кода на части
     • общая предметная область
     • разделение ответственности




16
Принципы БЭМ-методологии




     •   разделение кода на части
     •   общая предметная область
     •   разделение ответственности
     •   повторное использование кода




17
Принципы БЭМ-методологии




     •   разделение кода на части
     •   общая предметная область
     •   разделение ответственности
     •   повторное использование кода
     •   сборка кода в финальный runtime




18
Определения
Блок




20
Блок




21
Блок




22
Блок




23
Элемент




24
Элемент




25
Элемент




26
Модификатор




27
Модификатор




28
Уровень
     переопределения



29
Уровень переопределения




30
Сборка




31
Пример
Пример



Карточка товара
Блок




35
Элементы




36
Пример



БЭМ-дерево
БЭМ-дерево




38
<block name="product">
         <elem name="title">
             Световой меч...</elem>
         <elem name="picture"
             src="n52-105-medium.png"/>
         <elem name="price">
             <elem name="price-value"
                 value="33700"/>
         </elem>
         <elem name="info">
             Хорошо держит форму...</elem>
         ...
39
Пример



Организация
файловой структуры
blocks/
      └── product/




41
blocks/
      └── product/
           └── product.css




42
Технология




43
blocks/
      └── product/
           ├── product.bemhtml
           ├── product.png
           ├── product.js
           └── product.css




44
/* product.css */

     .product
     {
         color: #000;

         font: 13px Verdana, sans-serif;
     }




45
blocks/
      └─ product/
          ├─ title/
          ├─ picture/
          ├─ price/
          ├─ price-value/
          ├─ ...
          └─ product.css



46
blocks/
      └─ product/
          ├─ title/
              └─ product__title.css
          ├─ picture/
              └─ product__picture.css
          ├─ ...
          └─ product.css



47
Файлы → БЭМ-дерево




48
/* product__title.css */

     .product__title
     {
         display: block;

         font-size: 24px;
         font-weight: bold;

         margin-left: -1ex;
     }

49
blocks/
      └─ product/
          ├─ title/
          ├─ picture/
          ├─ price/
          ├─ price-value/
          ├─ ...
          └─ product.css



50
/* product__price.css */

     .product__price
     {
         font-size: 12px;
     }

     .product__price-value
     {
         color: #390;
         font-size: 24px;
     }
51
<html>
     <body>

     <div class="product">
         <h1 class="product__title">...</h1>
         <img class="product__picture"
             src="..."/>
         <span class="product__price">...</span>
         <!-- ... -->
     </div>

     </body>
     </html>

52
Пример



Пришел менеджер...
Пришел менеджер




54
Пришел менеджер




55
56
57
Блок




58
Элементы




59
Пример



БЭМ-дерево
<block name="product">
         <elem name="title">
             Световой меч...</elem>
         <elem name="picture">
           <block name="illustration">
               <elem name="image" size="mid"
                   src="n52-105-medium.png"/>
               <elem name="zoom">
                   Большое изображение</elem></block>

         <elem name="price">
             <elem name="price-value"
                 value="33700"/><elem>
         <elem name="info">
             Хорошо держит форму...</elem>

         ...
61
Пример



Файловая структура
blocks/
      ├─ product/
      └─ illustration/




63
blocks/
      ├─ product/
      └─ illustration/
         ├─ image/
             └─ illustration__image.css
         └─ zoom/
             ├─ illustration__zoom.css
             └─ illustration__zoom.png


64
blocks/
      ├─ product/
      └─ illustration/
          ├─ image/
              ├─ _size/
                   ├─ illustration__image_size_sm.css
                   ├─ illustration__image_size_mid.css
                   └─ illustration__image_size_big.css
              └─ illustration__image.css
          └─ zoom/
              └─ ...




65
66
blocks/
      ├─ product/
      └─ illustration/
          ├─ image/
              ├─ _size/
                   ├─ illustration__image_size_sm.css
                   ├─ illustration__image_size_mid.css
                   ├─ illustration__image_size_big.css
                   └─ illustration__image_size_big.png
              └─ illustration__image.css
          └─ zoom/
              └─ ...



67
/* illustration__image_size_mid.css */

     . illustration__image_size_mid
     {
         display: block;

         width: 300px;
     }




68
blocks/
      ├─ product/
      └─ illustration/
         ├─ image/
             └─ ...
         ├─ zoom/
             └─ ...
         └─ illustration.js




69
// illustration.js

     (function($, undefined) {

     $('.illustration__zoom').on('click', function() {

          var sizeBig = $(this).data('size-big');

          // ...

     })

     }(jQuery));




70
<html>
     <body>
     <div class="product">
       <h1 class="product__title">...</h1>
       <div class="product__picture illustration">
         <img
            class="illustration__image illustration__image_size_mid"
            src="..."/>
         <span
            class="illustration__zoom"
            data-size-big="...">...</span>
       </div>
       <span class="product__price">...</span>
       <!-- ... -->
     </div>
     </body>
     </html>

71
<html>
     <body>
     <div class="product">
       <h1 class="product__title">...</h1>
       <div class="product__picture illustration">
         <img
            class="illustration__image illustration__image_size_mid"
            src="..."/>
         <span
            class="illustration__zoom"
            data-size-big="...">...</span>
       </div>
       <span class="product__price">...</span>
       <!-- ... -->
     </div>
     </body>
     </html>

72
<html>
     <body>
     <div class="product">
       <h1 class="product__title">...</h1>
       <div class="product__picture illustration">
         <img
            class="illustration__image illustration__image_size_mid"
            src="..."/>
         <span
            class="illustration__zoom"
            data-size-big="...">...</span>
       </div>
       <span class="product__price">...</span>
          events.yandex.ru/talks/293
       <!-- ... -->
     </div>
     </body>
     </html>

73
Утилиты
github.com/bem/bem-tools




75
BEM tools




     Утилита для работы с файлами, написанными по БЭМ-методу

     github.com/bem/bem-tools




76
BEM tools




     Создание сущностей

     Сборка финального runtime

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

     ...




77
BEM tools
     › bem --help




78
BEM tools
     › bem --help

     Tools to work with files written using the BEM-method.
     See http://bem.github.com/bem-method/ for more info.

     Usage:
       bem COMMAND [OPTIONS] [ARGS]
       bem [OPTIONS] [ARGS]

     Commands:
       create : Create of entities tool.
       build : Build tool.
       server : Development server.
       make : BEM make.
       decl : Usage declaration manipulation tool.
79
       completion : Shell completion.
BEM tools
     › bem --help

     Tools to work with files written using the BEM-method.
     See http://bem.github.com/bem-method/ for more info.

     Usage:
       bem COMMAND [OPTIONS] [ARGS]
       bem [OPTIONS] [ARGS]

     Commands:
       create : Create of entities tool.
       build : Build tool.
       server : Development server.
       make : BEM make.
       decl : Usage declaration manipulation tool.
80
       completion : Shell completion.
BEM Tools



bem create:
создание БЭМ-сущностей
bem create




     –   уровни переопределения
     –   блоки
     –   элементы
     –   модификаторы




82
bem create
     › bem create --help




83
bem create
     › bem create --help

     Usage:
       bem create COMMAND [OPTIONS] [ARGS]
       bem create [OPTIONS] [ARGS]

     Commands:
       level : Level.
       block : Block.
       elem : Block element.
       mod : Modifier.




84
bem create
     › bem create block --help




85
bem create
     › bem create block --help
     Usage:
       bem create block [OPTIONS] [ARGS]

     Options:
       -h, --help : Help
       -C DIR,
       --chdir=DIR : change process working directory, cwd by default;
                     to specify level use --level, -l option instead
       -t ADDTECH,
       --add-tech=ADDTECH : add tech
       -T FORCETECH,
       --force-tech=FORCETECH : use only specified tech
       -n NOTECH,
       --no-tech=NOTECH : exclude tech
       -l LEVEL,
       --level=LEVEL : level directory path, default: ./
       -f, --force : force files creation

     Arguments:
       NAMES : blocks names
86
bem create
     › bem create block illustration --level=blocks --add-tech=css




87
bem create
     › bem create block illustration --level=blocks --add-tech=css




     blocks/
       └─ illustration/
             └─ illustration.css




88
bem create
     › bem create mod size --level=blocks

                          --block=illustration

                          --elem=image

                           --val=mid

                           --add-tech=css




89
bem create
     › bem create mod size --level=blocks

                          --block=illustration

                          --elem=image

                           --val=mid

                           --add-tech=css



     blocks/
      └─ illustration/
          └─ image/
              └─ _size/
                  └─ illustration__image_size_mid.css


90
BEM Tools



bem build:
сборка файлов страниц
bem build




     Собирает файлы страниц в различных технологиях,
     основываясь на декларации.




92
bem build
     › bem build --help




93
bem build




         БЭМ дерево ⟹ Декларация ⟹ Страница




94
bem build
     › bem build [...] -o pages/index -n index

                       --tech=css

                      --level=blocks




95
bem build
     › bem build [...] -o pages/index -n index

                       --tech=css

                       --level=blocks


     pages/
       └─ index/
            └─ index.css




96
/* index.css */

     @import   url(blocks/product/product.css);
     @import   url(blocks/product/title/...);
     @import   url(blocks/product/picture/...);
     ...
     @import   url(blocks/illustration/figure.css);
     @import   url(blocks/illustration/image/...);
     ...




97
bem build
     › bem build [...] -o pages/index -n index
                       --tech=js
                       --level=blocks




98
bem build
     › bem build [...] -o pages/index -n index
                       --tech=js
                       --level=blocks



     pages/
       └─ index/
            └─ index.js




99
/* index.js */

      /*borschik:include:blocks/product/product.js*/
      /*borschik:include:blocks/product/title/...*/
      /*borschik:include:blocks/product/picture/...*/
      ...
      /*borschik:include:blocks/illustration/illustration.js*/
      /*borschik:include:blocks/illustration/image/...*/
      ...




100
bem build
      pages/
        └─ index/
             ├─ index.html
             ├─ index.xsl
             ├─ index.bemhtml.js
             ├─ index.js
             ├─ index.css
             ├─ index.ie.css
             ├─ index.coffee
             └─ index.ts




101
bem build
      pages/
        └─ index/
             ├─ index.html
             ├─ index.xsl
             ├─ index.bemhtml.js
             ├─ index.js
             ├─ index.css
             ├─ index.ie.css
             ├─ index.coffee
      events.yandex.ru/talks/289/
             └─ index.ts




102
Пример



Пришел менеджер...
Пришел менеджер




104
Пришел менеджер




105
Пришел менеджер




106
Пришел менеджер...




107
Пример



БЭМ-дерево
<block name="product">
          <elem name="title">
              Световой меч...</elem>
          <elem name="picture">
            <block name="illustration">
                <elem name="image" size="mid"
                    src="n52-105-medium.png"/>
                <elem name="zoom">
                    Большое изображение</elem></block>

          <elem name="price">
              <elem name="price-value"
                  value="33700"/><elem>

          <elem name="order-btn">Заказать<elem>

          <elem name="info">
              Хорошо держит форму...</elem>
109
          ...
„Заказывать товары можно       только
             с   некоторых страниц
                       o_O`




110
Пример



Файловая структура
› bem create level blocks-store




112
blocks/
       ├─ product/
       └─ illustration/
      blocks-store/




113
blocks/
       ├─ product/
       └─ illustration/
      blocks-store/
       └─ product/




114
blocks/
       ├─ product/
       └─ illustration/
      blocks-store/
       └─ product/
           ├─ product.bemhtml
           ├─ product.sass
           └─ product.js




115
blocks/
       ├─ product/
       └─ illustration/
      blocks-store/
       └─ product/
           ├─ order-btn/
               └─ product__order-btn.sass
           └─ ...




116
117
blocks/
       ├─ product/
       └─ illustration/
      blocks-store/
       ├─ product/
           ├─ order-btn/
           └─ ...
       └─ button/
           ├─ button.js
           └─ button.sass



118
› bem build [...] -o pages/store -n store
                        --tech=sass
                        --tech=js
                        --level=blocks
                        --level=blocks-store




119
› bem build [...] -o pages/store -n store
                        --tech=sass
                        --tech=js
                        --level=blocks
                        --level=blocks-store




120
pages/
       ├─ index/
       └─ store/
           ├─ store.html
           ├─ store.css
           ├─ store.sass
           └─ store.js




121
/* store.sass */

      @import   url(blocks/product/product.css);
      @import   url(blocks-store/product/product.sass);
      @import   url(blocks/product/title/...);
      @import   url(blocks/product/picture/...);
      @import   url(blocks-store/product/order-btn/...);
      @import   url(blocks-store/button/button.sass);
      ...
      @import   url(blocks/illustration/illustration.css);
      @import   url(blocks/illustration/image/...);
      ...



122
Что-то еще?
124
125
126
127
Материалы
Материалы




      bem.info
      github.com/bem




129
Владимир Варанкин

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




varankinv@yandex-team.ru
github.com/narqo

Contenu connexe

En vedette

Сергей Пузанков — XPath
Сергей Пузанков — XPathСергей Пузанков — XPath
Сергей Пузанков — XPathYandex
 
Олег Мохов "Драматическая история одной маленькой промостранички"
Олег Мохов "Драматическая история одной маленькой промостранички"Олег Мохов "Драматическая история одной маленькой промостранички"
Олег Мохов "Драматическая история одной маленькой промостранички"Yandex
 
Владимир Билоненко "Рецензирование кода"
Владимир Билоненко "Рецензирование кода"Владимир Билоненко "Рецензирование кода"
Владимир Билоненко "Рецензирование кода"Yandex
 
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"Yandex
 
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"Yandex
 
Владимир Варанкин — «БЭМ: практика»
Владимир Варанкин — «БЭМ: практика»Владимир Варанкин — «БЭМ: практика»
Владимир Варанкин — «БЭМ: практика»Yandex
 
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"Yandex
 
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Yandex
 
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"Yandex
 
Анастасия Ларкина "Дизайнер в поиске"
Анастасия Ларкина "Дизайнер в поиске"Анастасия Ларкина "Дизайнер в поиске"
Анастасия Ларкина "Дизайнер в поиске"Yandex
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Yandex
 
Алексей Захаров "Архитектура Яндекс.Фоток"
Алексей Захаров "Архитектура Яндекс.Фоток"Алексей Захаров "Архитектура Яндекс.Фоток"
Алексей Захаров "Архитектура Яндекс.Фоток"Yandex
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Михаил Трошев — CSS: Систематизация базовых знаний
Михаил Трошев — CSS: Систематизация базовых знанийМихаил Трошев — CSS: Систематизация базовых знаний
Михаил Трошев — CSS: Систематизация базовых знанийYandex
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Yandex
 
The Architecture of Open Source Applications : GDB
The Architecture of Open Source Applications : GDBThe Architecture of Open Source Applications : GDB
The Architecture of Open Source Applications : GDBSanghoon Lee
 
SO2 - Novo Tablet da Dell com W8
SO2 - Novo Tablet da Dell com W8SO2 - Novo Tablet da Dell com W8
SO2 - Novo Tablet da Dell com W8Silvio Carréra
 
Presentacio Jornada Audiovisuals
Presentacio Jornada AudiovisualsPresentacio Jornada Audiovisuals
Presentacio Jornada AudiovisualsLluís García Coca
 

En vedette (20)

Сергей Пузанков — XPath
Сергей Пузанков — XPathСергей Пузанков — XPath
Сергей Пузанков — XPath
 
Олег Мохов "Драматическая история одной маленькой промостранички"
Олег Мохов "Драматическая история одной маленькой промостранички"Олег Мохов "Драматическая история одной маленькой промостранички"
Олег Мохов "Драматическая история одной маленькой промостранички"
 
Владимир Билоненко "Рецензирование кода"
Владимир Билоненко "Рецензирование кода"Владимир Билоненко "Рецензирование кода"
Владимир Билоненко "Рецензирование кода"
 
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
Александр Савин, Михаил Коровкин "Яндекс.Работа: Работа не волк"
 
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
Андрей Воронин "Глобальная платформа электронной коммерции siteheart.com"
 
Владимир Варанкин — «БЭМ: практика»
Владимир Варанкин — «БЭМ: практика»Владимир Варанкин — «БЭМ: практика»
Владимир Варанкин — «БЭМ: практика»
 
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
Вадим Макеев "Оптимизация и нарезка графики для профессиональной вёрстки"
 
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
 
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
Владимир Русинов "Архитектура сервиса Яндекс.Диск. Замыслы и реальность"
 
Анастасия Ларкина "Дизайнер в поиске"
Анастасия Ларкина "Дизайнер в поиске"Анастасия Ларкина "Дизайнер в поиске"
Анастасия Ларкина "Дизайнер в поиске"
 
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
Михаил Корепанов "Скорость рендеринга страниц: исследования, замеры, автомати...
 
Алексей Захаров "Архитектура Яндекс.Фоток"
Алексей Захаров "Архитектура Яндекс.Фоток"Алексей Захаров "Архитектура Яндекс.Фоток"
Алексей Захаров "Архитектура Яндекс.Фоток"
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Михаил Трошев — CSS: Систематизация базовых знаний
Михаил Трошев — CSS: Систематизация базовых знанийМихаил Трошев — CSS: Систематизация базовых знаний
Михаил Трошев — CSS: Систематизация базовых знаний
 
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
Владимир Алаев "Разработка на Node.js: инструменты, библиотеки, сервисы"
 
The Architecture of Open Source Applications : GDB
The Architecture of Open Source Applications : GDBThe Architecture of Open Source Applications : GDB
The Architecture of Open Source Applications : GDB
 
SO2 - Novo Tablet da Dell com W8
SO2 - Novo Tablet da Dell com W8SO2 - Novo Tablet da Dell com W8
SO2 - Novo Tablet da Dell com W8
 
Presentacio Jornada Audiovisuals
Presentacio Jornada AudiovisualsPresentacio Jornada Audiovisuals
Presentacio Jornada Audiovisuals
 
20160919093723136
2016091909372313620160919093723136
20160919093723136
 
Presentation1
Presentation1Presentation1
Presentation1
 

Similaire à Владимир Варанкин — «БЭМ»

Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"Yandex
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressIgor Sazonov
 
Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"Yandex
 
Вёрстка WordPress тем - WP Kharkiv Meetup #1
Вёрстка WordPress тем - WP Kharkiv Meetup #1Вёрстка WordPress тем - WP Kharkiv Meetup #1
Вёрстка WordPress тем - WP Kharkiv Meetup #1dima_kuzovlev
 
Domain Specific Languages (for business rules)
Domain Specific Languages (for business rules)Domain Specific Languages (for business rules)
Domain Specific Languages (for business rules)Anton Arhipov
 
basis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкbasis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкRoman Dvornov
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорьdrupalconf
 
оптимизация скорости загрузки страницы
оптимизация скорости загрузки страницыоптимизация скорости загрузки страницы
оптимизация скорости загрузки страницыVladimir Romanitchev
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта Olga Pirozhenko
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов ИгорьPVasili
 
Виталий Харисов "Настоящее и будущее БЭМ"
Виталий Харисов "Настоящее и будущее БЭМ"Виталий Харисов "Настоящее и будущее БЭМ"
Виталий Харисов "Настоящее и будущее БЭМ"Yandex
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...MoscowJS
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Yandex
 
Yii2
Yii2Yii2
Yii2Noveo
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Moscow js 26 webpack
Moscow js 26   webpackMoscow js 26   webpack
Moscow js 26 webpacklgordey
 
MoscowJS 26 webpack presentation
MoscowJS 26 webpack presentationMoscowJS 26 webpack presentation
MoscowJS 26 webpack presentationlgordey
 

Similaire à Владимир Варанкин — «БЭМ» (20)

Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
Сергей Бережной, Варвара Степанова "Как использовать БЭМ! вне Яндекса"
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
 
Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"Сергей Бережной "Внедрение БЭМ в существующие системы"
Сергей Бережной "Внедрение БЭМ в существующие системы"
 
Вёрстка WordPress тем - WP Kharkiv Meetup #1
Вёрстка WordPress тем - WP Kharkiv Meetup #1Вёрстка WordPress тем - WP Kharkiv Meetup #1
Вёрстка WordPress тем - WP Kharkiv Meetup #1
 
Domain Specific Languages (for business rules)
Domain Specific Languages (for business rules)Domain Specific Languages (for business rules)
Domain Specific Languages (for business rules)
 
basis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкbasis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворк
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорь
 
оптимизация скорости загрузки страницы
оптимизация скорости загрузки страницыоптимизация скорости загрузки страницы
оптимизация скорости загрузки страницы
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов Игорь
 
Виталий Харисов "Настоящее и будущее БЭМ"
Виталий Харисов "Настоящее и будущее БЭМ"Виталий Харисов "Настоящее и будущее БЭМ"
Виталий Харисов "Настоящее и будущее БЭМ"
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
 
Code Style (in russian)
Code Style (in russian)Code Style (in russian)
Code Style (in russian)
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"
 
МАПО Лаба №1
МАПО Лаба №1МАПО Лаба №1
МАПО Лаба №1
 
Yii2
Yii2Yii2
Yii2
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Moscow js 26 webpack
Moscow js 26   webpackMoscow js 26   webpack
Moscow js 26 webpack
 
MoscowJS 26 webpack presentation
MoscowJS 26 webpack presentationMoscowJS 26 webpack presentation
MoscowJS 26 webpack presentation
 

Plus de Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...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
 

Plus de Yandex (20)

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

Владимир Варанкин — «БЭМ»