SlideShare a Scribd company logo
1 of 63
Download to read offline
Components
Now!
Михаил Давыдов
РИТ++, 14-15 Апреля 2014
Библиотеки
●jQuery — чинит DOM
●Underscore — добавляет API ECMAScript 5
●Backbone — приносит MV*
●Все они созданы для исправления Web
По историческим причинм хорошие инструменты - библиотеки.
The DOM is a Mess 2009
Библиотеки
04
Библиотеки везде
●Тяжелые
–jQuery 2.0.3 — 230K (не сжатый)
●Их сложно понять
–Цикломатическая сложность $.ajax — 43
●Слишком могущественные
–$.ajax, $.animate, _
Библиотеки большие
06
●Сложно использовать только маленькую часть
–$.Deferred, $.ajax
–_.template
●Приходится делить вручную
●Их модульность мало помогает
Их части тесно связаны
07
●Все хотят jQuery
●Библиотеки зависят от библиотек
–Backbone+jQuery+Underscore
●Ручное управление зависимостями
–Bower и Npm — спасители!
Управление зависимостями
08
Веб починили*
●querySelector
●CSS3 Selectors*
●Web Storage (localStorage)
●Cross-Origin Resource Sharing*
* полностью с полифилами
Can I Use
Важные DOM APIs
11
ECMAScript 5
●CSS3 Selectors (медленный, но работает)
●Cross-Origin Resource Sharing
●HTML5 Elements
●ECMAScript 5
HTML5 Please polyfills
Полифилы чинят остальное
13
Mobile
Мобильный рынок растет
Почему мы все еще
используем
библиотеки?
Компоненты
Простые
●Легкие
–dom — 28K, 3K self (не сжатый)
●Единственная ответственность & KISS-принцип
●Очень легко понять
–Поддерживать
–Писать тесты
Компоненты простые
20
Независимые
●Содержат все зависимости
–Большая часть внешние
●Легко использовать повторно
– bower i name
– npm i name
●Легко использовать только часть
Компоненты независимы
22
Изолированные
●Не конфликтуют с другими
–Изоляция CSS
–Гибкое представление
–Нет утечек глобалов
●Имеют ограниченный доступ к другим
– require()
Компоненты изолированы
24
●Идея произвольного HTML элемента
●API/Framework
–Shadow DOM (Инкапсуляция)
–HTML Imports & Templates
–Template Binding
Web Components: A Tectonic Shift for Web Development
WebComponents
26
HTML Templates
Shadow DOM
Custom Elements
HTML Imports
Возможно починить в других барузерах, используя Polymer.
WebComponents в 2014 году
27
WebComponents API Альтернатива
Custom Elements Компонентные движки
Shadow DOM BEM Методология
HTML Templates Шаблонные движки
HTML Imports Инструменты сборки
Scoped CSS BEM или OOCSS
Template Binding Data binding
Альтернативы этим API
28
●X-Tag
●jQuery UI Widgets
●Dojo Widgets
●React
●bem-tools
●basis.js
Компонентные движки
29
●Изоляция CSS
●Блок — Custom Element
●Элемент — Shadow DOM
●Модификатор — Нет аналога
●i-bem — Логика блока
БЕМ и WebComponents
31
.tab-panel— Блок
.tab-panel__tab— Элемент
.tab-panel__tab_state_active
Давайте напишем
Компонент!
●Компонент Простой
–KISS
●Компонент Независимый
–Все на борту
●Компонент Изолированный
–HTML, CSS, JS
Помним, что
35
Package file
// bower.json
{
"name": "my-share",
"version": "1.0.0",
"main": ["my-share.js"]
}
Bower и формат bower.json
Package file это контракт
01.
02.
03.
04.
05.
06.
37
HTML
<!-- my-share.html -->
<a href="{{ href }}" class="my-share">
<img src="{{ icon }}" class="my-share__icon"/>
<span class="my-share__label">{{ label }}</span>
</a>
Приватный HTML
01.
02.
03.
04.
05.
39
Интерфейс
<a class="my-share"
data-href="{{ href }}"
data-icon="{{ icon }}"
>{{ label }}</a>
Интерфейс похож на Custom Element из WebComponents.
Интерфейс компонента
01.
02.
03.
04.
41
<my-share
href="{{ href }}"
icon="{{ icon }}"
>{{ label }}</my-share>
WebComponents для сравнения
01.
02.
03.
04.
42
.my-share {}
.my-share__icon {
vertical-align: middle;
height: 16px;
}
.my-share__label {
padding-left: 5px;
}
CSS Компонента
01.
02.
03.
04.
05.
06.
07.
08.
43
my-share {}
.icon {
vertical-align: middle;
height: 16px;
}
.label {
padding-left: 5px;
}
CSS WebComponent
01.
02.
03.
04.
05.
06.
07.
08.
44
●WebComponent — DOM API
– <style scoped>
●BEM
–Избегание каскада в CSS
–Соглашения именования .block__element
CSS изолирован
45
Зависимости
// bower.json
"dependencies": {
"tpl": "azproduction/lodash-template",
"domify": "component/domify",
"decl": "azproduction/decl"
}
Декларируем все зависимости.
Внешние зависимости
01.
02.
03.
04.
05.
06.
47
// my-share.js
var tpl = require('tpl'),
decl = require('decl'),
domify = require('domify');
var html = require('templates/my-share'),
template = tpl(html);
Связи модуля с другими
01.
02.
03.
04.
05.
06.
07.
48
function MyShare(el) {
this.options = this.collectOptions(el);
this.el = this.render();
this.delegateEvents();
this.replaceElement(el);
}
decl('.my-share', MyShare);
module.exports = MyShare;
Базовая логика компонента
01.
02.
03.
04.
05.
06.
07.
08.
49
●CommonJS/Modules
–Нет утечек глобалов
–Просит зависимости, а не берет их
–Поставляет ресурсы
●Так же можно использовать AMD
JavaScript модуля изолирован
50
Сборка
●Получение всех зависимостей
●Компиляция
–стили, скрипты, шаблоны
●Упаковка скриптов и шаблонов
●Конкатинация стилей
Сборка компонента
52
●bem-tools
●Component
●Browserify
●LMD
Инструменты сборки
компонентов
53
<a class="my-share" ...>Tweet</a>
<link rel="stylesheet" href="my-share.css"/>
<script src="my-share.js"></script>
Компонент легко использовать
01.
02.
03.
54
<my-share ...>Tweet</my-share>
<link rel="import" href="my-share.html"/>
WebComponent
01.
02.
55
Живой пример
56
●Web уже починили, Mobile растет
●Библиотеки слишком сложны
●WebComponents == API
●Пишите компоненты. Сегодня!
Заключение
59
Components Now!
Михаил Давыдов
@azproduction
60
●Живой пример my-share
●You might not need jQuery
●BEM Методология
●Web Components
●Polymer Project
Полезные ресусы
61
clck.ru/97Zm8
● minecraft.gamepedia.com/Blocks
● fr.fotopedia.com/wiki/Bibliothèque#!/items/flickr-6899137527
● www.planetminecraft.com/project/minecraft-site/
● investments.academic.ru/1513/Форвардный_контракт
● frozen-lama.deviantart.com/art/Minecraft-Compound-Door-209872466
● www.postandcourier.com/article/20120620/pc1002/120629985
● isintu.com/features/responsive-design/
● nicolaijuhler.wordpress.com/
● r3c0nic.deviantart.com/art/minecraft-Blueprint-293455933
● ru-wallp.com/view/1542/
Источники изображений
63

More Related Content

What's hot

Yaremchuk - Корпоративные сайты
Yaremchuk - Корпоративные сайтыYaremchuk - Корпоративные сайты
Yaremchuk - Корпоративные сайтыAndrii Podanenko
 
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"Yandex
 
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ  by Mikhail TroshevПрезентация к докладу про БЭМ  by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev1 1
 
Разработка адаптивных шаблонов на базе Omega
Разработка адаптивных шаблонов на базе OmegaРазработка адаптивных шаблонов на базе Omega
Разработка адаптивных шаблонов на базе OmegaTaras Omelianenko
 
What do you MEAN? или введение в Fullstack JavaScript
What do you MEAN? или введение в Fullstack JavaScriptWhat do you MEAN? или введение в Fullstack JavaScript
What do you MEAN? или введение в Fullstack JavaScriptVasiliy Teliatnikov
 
простой и мощный бэкап на базе rsync
простой и мощный бэкап на базе rsyncпростой и мощный бэкап на базе rsync
простой и мощный бэкап на базе rsyncAndrew Pantyukhin
 
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLАртем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLYandex
 
Компонентный подход: скучно, неинтересно, бесперспективно
Компонентный подход: скучно, неинтересно, бесперспективноКомпонентный подход: скучно, неинтересно, бесперспективно
Компонентный подход: скучно, неинтересно, бесперспективноRoman Dvornov
 
Кэширование в Веб разработке на серверном и клиентском уровнях
Кэширование в Веб разработке на серверном и клиентском уровняхКэширование в Веб разработке на серверном и клиентском уровнях
Кэширование в Веб разработке на серверном и клиентском уровняхForkConf
 
Артем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSSАртем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSSDataArt
 
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js" JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js" GeeksLab Odessa
 
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Roman Dvornov
 
ДАМП 2015 Екатеринбург
ДАМП 2015 ЕкатеринбургДАМП 2015 Екатеринбург
ДАМП 2015 ЕкатеринбургAlexey Ivanov
 
Управление образами виртуальных машин: libguestfs, virt-tools
Управление образами виртуальных машин: libguestfs, virt-toolsУправление образами виртуальных машин: libguestfs, virt-tools
Управление образами виртуальных машин: libguestfs, virt-toolsYandex
 
Mojo. Веб в коробке!
Mojo. Веб в коробке!Mojo. Веб в коробке!
Mojo. Веб в коробке!Anatoly Sharifulin
 
Sergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalSergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalDrupalSib
 
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"Yandex
 
basis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкbasis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкRoman Dvornov
 
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptCSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptAlexey Ivanov
 
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Стажировка-2015. Разработка. Занятие 13. Сборка фронтендаСтажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда7bits
 

What's hot (20)

Yaremchuk - Корпоративные сайты
Yaremchuk - Корпоративные сайтыYaremchuk - Корпоративные сайты
Yaremchuk - Корпоративные сайты
 
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
Евгений Филатов "Одностраничные приложения на БЭМ и Node.js"
 
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ  by Mikhail TroshevПрезентация к докладу про БЭМ  by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev
 
Разработка адаптивных шаблонов на базе Omega
Разработка адаптивных шаблонов на базе OmegaРазработка адаптивных шаблонов на базе Omega
Разработка адаптивных шаблонов на базе Omega
 
What do you MEAN? или введение в Fullstack JavaScript
What do you MEAN? или введение в Fullstack JavaScriptWhat do you MEAN? или введение в Fullstack JavaScript
What do you MEAN? или введение в Fullstack JavaScript
 
простой и мощный бэкап на базе rsync
простой и мощный бэкап на базе rsyncпростой и мощный бэкап на базе rsync
простой и мощный бэкап на базе rsync
 
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLАртем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTML
 
Компонентный подход: скучно, неинтересно, бесперспективно
Компонентный подход: скучно, неинтересно, бесперспективноКомпонентный подход: скучно, неинтересно, бесперспективно
Компонентный подход: скучно, неинтересно, бесперспективно
 
Кэширование в Веб разработке на серверном и клиентском уровнях
Кэширование в Веб разработке на серверном и клиентском уровняхКэширование в Веб разработке на серверном и клиентском уровнях
Кэширование в Веб разработке на серверном и клиентском уровнях
 
Артем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSSАртем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSS
 
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js" JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
JSLab.Сергей Пузанков. "Разработка небольшого проекта c BEM и node.js"
 
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
 
ДАМП 2015 Екатеринбург
ДАМП 2015 ЕкатеринбургДАМП 2015 Екатеринбург
ДАМП 2015 Екатеринбург
 
Управление образами виртуальных машин: libguestfs, virt-tools
Управление образами виртуальных машин: libguestfs, virt-toolsУправление образами виртуальных машин: libguestfs, virt-tools
Управление образами виртуальных машин: libguestfs, virt-tools
 
Mojo. Веб в коробке!
Mojo. Веб в коробке!Mojo. Веб в коробке!
Mojo. Веб в коробке!
 
Sergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+DrupalSergey Cherebedov. Node.js+Drupal
Sergey Cherebedov. Node.js+Drupal
 
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
 
basis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкbasis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворк
 
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScriptCSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
 
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Стажировка-2015. Разработка. Занятие 13. Сборка фронтендаСтажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
 

Viewers also liked

JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)Mikhail Davydov
 
Dart - светлая сторона силы?
Dart - светлая сторона силы?Dart - светлая сторона силы?
Dart - светлая сторона силы?Mikhail Davydov
 
JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)Mikhail Davydov
 
Ajax and Transports (in russian)
Ajax and Transports (in russian)Ajax and Transports (in russian)
Ajax and Transports (in russian)Mikhail Davydov
 
Dump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScriptDump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScriptMikhail Davydov
 
JavaScript. OOP (in russian)
JavaScript. OOP (in russian)JavaScript. OOP (in russian)
JavaScript. OOP (in russian)Mikhail Davydov
 
JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)Mikhail Davydov
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Mikhail Davydov
 
JavaScript. Async (in Russian)
JavaScript. Async (in Russian)JavaScript. Async (in Russian)
JavaScript. Async (in Russian)Mikhail Davydov
 
JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)Mikhail Davydov
 
Михаил Давыдов: JavaScript. Базовые знания
Михаил Давыдов: JavaScript. Базовые знанияМихаил Давыдов: JavaScript. Базовые знания
Михаил Давыдов: JavaScript. Базовые знанияYandex
 

Viewers also liked (12)

JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)
 
Dart - светлая сторона силы?
Dart - светлая сторона силы?Dart - светлая сторона силы?
Dart - светлая сторона силы?
 
JavaScript. Basics (in russian)
JavaScript. Basics (in russian)JavaScript. Basics (in russian)
JavaScript. Basics (in russian)
 
Ajax and Transports (in russian)
Ajax and Transports (in russian)Ajax and Transports (in russian)
Ajax and Transports (in russian)
 
Dump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScriptDump-IT Загрузка и инициализация JavaScript
Dump-IT Загрузка и инициализация JavaScript
 
JavaScript. OOP (in russian)
JavaScript. OOP (in russian)JavaScript. OOP (in russian)
JavaScript. OOP (in russian)
 
JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)JavaScript. Loops and functions (in russian)
JavaScript. Loops and functions (in russian)
 
Introduction in Node.js (in russian)
Introduction in Node.js (in russian)Introduction in Node.js (in russian)
Introduction in Node.js (in russian)
 
JavaScript. Async (in Russian)
JavaScript. Async (in Russian)JavaScript. Async (in Russian)
JavaScript. Async (in Russian)
 
JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)JavaScript. Event Model (in russian)
JavaScript. Event Model (in russian)
 
Михаил Давыдов: JavaScript. Базовые знания
Михаил Давыдов: JavaScript. Базовые знанияМихаил Давыдов: JavaScript. Базовые знания
Михаил Давыдов: JavaScript. Базовые знания
 
Components now!
Components now! Components now!
Components now!
 

Similar to Components now! (in russian)

DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"Roman Dvornov
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakAmasty
 
БЭМ в дикой природе
БЭМ в дикой природеБЭМ в дикой природе
БЭМ в дикой природеIhor Zenich
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17MoscowJS
 
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011camp_drupal_ua
 
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON
 
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только одинSECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только одинSECON
 
Быстро о быстром
Быстро о быстромБыстро о быстром
Быстро о быстромRoman Dvornov
 
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...Yandex
 
Олег Мохов: Веб-компоненты
Олег Мохов: Веб-компонентыОлег Мохов: Веб-компоненты
Олег Мохов: Веб-компонентыYandex
 
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Yandex
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Osvaivaem 250px max_shirshin
Osvaivaem 250px max_shirshinOsvaivaem 250px max_shirshin
Osvaivaem 250px max_shirshinyaevents
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинSergey Xek
 
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4rit2011
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только одинHappyDev
 
Миграция кода с Magento 1 на Magento 2
Миграция кода с Magento 1 на Magento 2Миграция кода с Magento 1 на Magento 2
Миграция кода с Magento 1 на Magento 2Elogic Magento Development
 
Основы языка HTML
Основы языка HTMLОсновы языка HTML
Основы языка HTMLDenis Latushkin
 
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийАлександр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийYandex
 

Similar to Components now! (in russian) (20)

DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"DOM-шаблонизаторы – не только "быстро"
DOM-шаблонизаторы – не только "быстро"
 
Meet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis BosakMeet Magento Belarus 2015: Denis Bosak
Meet Magento Belarus 2015: Denis Bosak
 
БЭМ в дикой природе
БЭМ в дикой природеБЭМ в дикой природе
БЭМ в дикой природе
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
 
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
Yury Glushkov.What should we build a website.Drupal Camp Kyiv 2011
 
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
 
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только одинSECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
SECON'2016. Аверин Сергей, Javascript-фреймворки:
 должен остаться только один
 
Быстро о быстром
Быстро о быстромБыстро о быстром
Быстро о быстром
 
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
FrontTalks: Роман Дворнов (Ostrovok.ru), «Basis.js: почему я не бросил разраб...
 
Олег Мохов: Веб-компоненты
Олег Мохов: Веб-компонентыОлег Мохов: Веб-компоненты
Олег Мохов: Веб-компоненты
 
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"Максим Ширшин "Яндекс.Панель: осваиваем 250px"
Максим Ширшин "Яндекс.Панель: осваиваем 250px"
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Osvaivaem 250px max_shirshin
Osvaivaem 250px max_shirshinOsvaivaem 250px max_shirshin
Osvaivaem 250px max_shirshin
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
автоматизированная сборка Flash приложений (as2, as3). андрей жданов. зал 4
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
Миграция кода с Magento 1 на Magento 2
Миграция кода с Magento 1 на Magento 2Миграция кода с Magento 1 на Magento 2
Миграция кода с Magento 1 на Magento 2
 
Основы языка HTML
Основы языка HTMLОсновы языка HTML
Основы языка HTML
 
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компанийАлександр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
 

Components now! (in russian)