SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
Beminar js
Report
Yandex
Follow
Yandex
Jul. 7, 2015
•
0 likes
•
16,119 views
1
of
45
Beminar js
Jul. 7, 2015
•
0 likes
•
16,119 views
Download Now
Download to read offline
Report
Yandex
Follow
Yandex
Recommended
Вебинар по БЭМ: верстаем веб-страницу
Yandex
19.8K views
•
29 slides
Преимущества компонентной разработки для тестирования интерфейсов
Yandex
7.5K views
•
45 slides
Сайт с нуля на полном стеке БЭМ-технологий
Yandex
2.1K views
•
136 slides
Вебинар по БЭМ: сборка и оптимизация проекта
Yandex
10K views
•
10 slides
bem-components — от методологии до full stack платформы
Yandex
5.5K views
•
66 slides
Владимир Гриненко "i-bem.js: JavaScript в БЭМ-терминах"
Yandex
1.7K views
•
31 slides
More Related Content
What's hot
Библиотека bem-components — Ангелина Сидорцова, Яндекс
Yandex
682 views
•
46 slides
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
yaevents
2.4K views
•
14 slides
БЭМ в Мануфактуре РИФ-Воронеж 2014
Ivan Voischev
1.7K views
•
162 slides
Alex baumgertner bem_in_small_projects
Alexander Baumgertner
6.7K views
•
52 slides
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Yandex
982 views
•
116 slides
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Ontico
1K views
•
86 slides
What's hot
(20)
Библиотека bem-components — Ангелина Сидорцова, Яндекс
Yandex
•
682 views
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
yaevents
•
2.4K views
БЭМ в Мануфактуре РИФ-Воронеж 2014
Ivan Voischev
•
1.7K views
Alex baumgertner bem_in_small_projects
Alexander Baumgertner
•
6.7K views
Мастер-класс наоборот: вы пишете БЭМ-проект, а мы подсказываем — Евгений Конс...
Yandex
•
982 views
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Ontico
•
1K views
BEM — block, element, modification conception
Vadim Patsev
•
815 views
архитектура крупных Word press сайтов
Максим Бровченко
•
393 views
Онлайн-кинотеатр для SmartTV на веб-технологиях / Михаил Лабанов (Ayyo)
Ontico
•
733 views
HTML GL - возьмите столько FPS, сколько вам нужно, и немного эффектов в прида...
Ontico
•
1.1K views
Отладка кода в браузере / Антон Шувалов (Rambler&Co)
Ontico
•
698 views
Сергей Бережной "Внедрение БЭМ в существующие системы"
Yandex
•
1.3K views
Архитектура крупных WordPress сайтов
Yevhen Kotelnytskyi
•
1.5K views
Владимир Варанкин — Сервер-сайд в БЭМ-терминах (Node.js)
Yandex
•
956 views
Bootstrap
Timofey Chukleev
•
528 views
Bootstrap 3. Адаптивная верстка для WordPress
Igor Sazonov
•
10.2K views
Yarfrontend #2. Как мы делали гуя...
oelifantiev
•
1.1K views
Павел Шут — БЭМ в lean startup'e
Yandex
•
631 views
Fullstack javascript. Isomorphic apps
Артем Захарченко
•
668 views
Bemer: декларативная шаблонизация на учебном примере — Артём Курбатов, Яндекс
Yandex
•
738 views
Viewers also liked
BEM for Javascript at CampJS III
Yandex
10.4K views
•
44 slides
БЭМ в Мануфактуре
Yandex
5.5K views
•
162 slides
Тестирование CSS-регрессий с gemini – OdessaJS
SevInf
4.5K views
•
60 slides
Maintainable Frontend Development with BEM
Varya Stepanova
5K views
•
65 slides
CSSO — сжимаем CSS Роман Дворнов, Avito
it-people
440 views
•
96 slides
Responsive Typography: Design for meaning, not for screen size
Jason Pamental
1.4K views
•
67 slides
Viewers also liked
(20)
BEM for Javascript at CampJS III
Yandex
•
10.4K views
БЭМ в Мануфактуре
Yandex
•
5.5K views
Тестирование CSS-регрессий с gemini – OdessaJS
SevInf
•
4.5K views
Maintainable Frontend Development with BEM
Varya Stepanova
•
5K views
CSSO — сжимаем CSS Роман Дворнов, Avito
it-people
•
440 views
Responsive Typography: Design for meaning, not for screen size
Jason Pamental
•
1.4K views
Сборка проектов с помощью ENB
Aleksandr Boichenko
•
1K views
Что надо знать о HTTP/2 Frontend разработчику
Александр Майоров
•
1.5K views
Frontend - экосистема и будущее: iforum 2015
Eldar Djafarov
•
1.8K views
Александр Баумгертнер — Преимущества БЭМ для небольших проектов и компаний
Yandex
•
1.9K views
JavaScript
Vasya Petrov
•
1.7K views
Homepage Designs of Computer Companies
Charlie Hoehn
•
54.5K views
Пишем БЭМ правильно
Ihor Zenich
•
13.5K views
алексей тихонов
Yandex
•
783 views
Симаков Алексей - Системы управления кластерами
Yandex
•
815 views
Тропинка через минное поле — Леонычев Юрий
Yandex
•
1.6K views
Антон Качалов - Популярно об IPMI и UEFI
Yandex
•
1K views
Большие данные в физике элементарных частиц на примере LHCb - Guy Wilkinson, ...
Yandex
•
1.3K views
Андрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, Риман
Yandex
•
942 views
Дмитрий Васильев - Задачи ассиметричной криптографии
Yandex
•
840 views
Similar to Beminar js
Опыт разработки эффективного SPA
Eugene Abrosimov
3.9K views
•
35 slides
Сергей Татаринцев — bem-tools v1.0.0
Yandex
634 views
•
72 slides
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
Ontico
2.5K views
•
133 slides
Азат Разетдинов "Оптимизация времени загрузки на примере Яндекс.Карт"
Yandex
745 views
•
34 slides
Optimizaciya vremeni zagruzki_azat_razetdinov
yaevents
211 views
•
34 slides
Сергей Константинов — Что интересного готовит нам W3C
Yandex
3.2K views
•
48 slides
Similar to Beminar js
(20)
Опыт разработки эффективного SPA
Eugene Abrosimov
•
3.9K views
Сергей Татаринцев — bem-tools v1.0.0
Yandex
•
634 views
Vue.js и его брат-близнец Vue-server.js / Андрей Солодовников (НГС)
Ontico
•
2.5K views
Азат Разетдинов "Оптимизация времени загрузки на примере Яндекс.Карт"
Yandex
•
745 views
Optimizaciya vremeni zagruzki_azat_razetdinov
yaevents
•
211 views
Сергей Константинов — Что интересного готовит нам W3C
Yandex
•
3.2K views
Александр Тармолов "БЭМ и JavaScript: Тестирование"
Yandex
•
900 views
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
Yandex
•
1.2K views
Behavior Driven Development
Return on Intelligence
•
407 views
Применение behave+webdriver для тестирования Web-проектов
PyNSK
•
937 views
Регрессионное тестирование на lenta.ru, Кондратенко Павел, Rambler&Co, Moscow...
MoscowJS
•
532 views
Tdd webpack + testem + mocha + chai
Michael Chernobrov
•
1.1K views
Контроль качества верстки или как начать делать Makeup
Timophy Chaptykov
•
816 views
TК°Conf. 10 проблем автоматизации UI и их решение с помощью JDI. Роман Иовлев.
TKConf
•
175 views
Take more from Jquery
Magento Dev
•
461 views
Appium для народа
SQALab
•
6.2K views
Пластилиновый код: как перестать кодить и начать жить
Moscow.pm
•
821 views
Самодельная параметризация и параллелизация тестов на Webdriver (JS)
COMAQA.BY
•
671 views
Web осень 2013 лекция 8
Technopark
•
769 views
Ecma script 6 yevhen diachenko
Denis Khabrenko
•
153 views
More from Yandex
Предсказание оттока игроков из World of Tanks
Yandex
48K views
•
38 slides
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Yandex
1.7K views
•
47 slides
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Yandex
1.4K views
•
70 slides
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Yandex
1.4K views
•
147 slides
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Yandex
1.2K views
•
66 slides
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Yandex
1.4K views
•
77 slides
More from Yandex
(20)
Предсказание оттока игроков из World of Tanks
Yandex
•
48K views
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Yandex
•
1.7K views
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Yandex
•
1.4K views
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Yandex
•
1.4K views
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Yandex
•
1.2K views
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Yandex
•
1.4K views
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Yandex
•
2.1K views
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Yandex
•
1.2K views
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Yandex
•
612 views
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Yandex
•
1K views
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Yandex
•
889 views
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Yandex
•
1.7K views
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
•
833 views
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Yandex
•
1.3K views
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Yandex
•
797 views
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Yandex
•
625 views
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Yandex
•
925 views
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Yandex
•
756 views
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Yandex
•
514 views
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Yandex
•
529 views
Beminar js
2.
Начало в 17:00 Вебинар
«БЭМ и JavaScript», 7.07.2015
3.
БЭМинар №3 БЭМ и
JavaScript
4.
Белицкий Дмитрий Разработчик интерфейсов
в группе разработки «Яндекс Видео» dmtry@yandex-team.ru github.com/dab twitter.com/dabelitsky 4
5.
План работы 5
6.
План работы Сборка JavaScript 5
7.
План работы Сборка JavaScript Валидация
полей формы 5
8.
План работы Сборка JavaScript Валидация
полей формы Таймер обратного отсчета 5
9.
Прошедшие вебинары 6
10.
Прошедшие вебинары Верстаем веб-страницу ru.bem.info/talks/beminar-css-2015/ 6
11.
Прошедшие вебинары Верстаем веб-страницу ru.bem.info/talks/beminar-css-2015/ Сборка
и оптимизация проекта ru.bem.info/talks/beminar-build-2015/ 6
12.
Закрепление пройденного 7
13.
Закрепление пройденного Что такое
БЭМ? 7
14.
Закрепление пройденного Что такое
БЭМ? Преимущества компонентного подхода. 7
15.
Закрепление пройденного Что такое
БЭМ? Преимущества компонентного подхода. Блоки на файловой системе. 7
16.
Закрепление пройденного Что такое
БЭМ? Преимущества компонентного подхода. Блоки на файловой системе. Сборка. 7
17.
Технологии блоков CSS ? ? 8
18.
Технологии блоков CSS картинки ? 9
19.
Технологии блоков CSS картинки JavaScript 10
20.
БЭМ и JavaScript 11
21.
БЭМ и JavaScript Независимый
блок 11
22.
БЭМ и JavaScript Независимый
блок Переносимость 11
23.
БЭМ и JavaScript Независимый
блок Переносимость Поддержка 11
24.
БЭМ и JavaScript Независимый
блок Переносимость Поддержка JS, CSS — все связано, компонент первичен 11
25.
необходимые инструменты git, node.js,
gulp
26.
// клонируем репозиторий >
git clone https://github.com/bem-events/beminar-1.git beminar-js // установим зависимости > cd beminar-js && git checkout beminar-2 && npm i
27.
сборка JavaScript в
gulpfile.js // добавить таску «js» и добавить watcher для js-файлов gulp.task('js', function() { getFileNames.then(function(src) { return src.dirs.map(function(dirName) { var jsGlob = path.resolve(dirName) + '/*.js'; return jsGlob; }); }) .then(function(jsGlobs) { gulp.src(jsGlobs) .pipe(concat('app.js')) .pipe(gulp.dest(params.out)); }) .done(); }); 14
28.
Валидация полей формы
29.
index.potter.html 16
30.
index.potter.html рефакторинг блока «form» 16
31.
index.potter.html рефакторинг блока «form» jQuery
Yandex CDN 16
32.
index.potter.html рефакторинг блока «form» jQuery
Yandex CDN <script src="app.js"></script> 16
33.
common.blocks/button/button.js $('.button').on('click', function(e) { if
(!/S+@S+.S+/.test($('.form__input_type_email').val())) { $('.form__popup').addClass('form__popup_visible'); return false; } }); 17
34.
пересоберем проект > gulp
35.
Проблемы 19
36.
Проблемы Сильная связанность 19
37.
Проблемы Сильная связанность Поддержка 19
38.
Улучшаем $('.button').on('click', function(e) { e.preventDefault(); if
(!/S+@S+.S+/.test($('.form__input_type_email').val())) { $('.form__popup').addClass('form__popup_visible'); } else { $('.form__popup').removeClass('form__popup_visible'); } }); 20
39.
Улучшаем $('.form').on('submit', function(e) { e.preventDefault(); $('.form__popup',
this)[ !/S+@S+.S+/.test($('.form__input_type_email', this).val()) ? 'addClass' : 'removeClass']('form__popup_visible'); }); 21
40.
Таймер обратного отсчета
41.
Блок «countdown» Таймер обратного
отсчета Параметры через data-атрибут БЭМ (JS, CSS) 23 (function($) { $.fn.bemCountdown = function() { this.each(function() { var countdown = $(this); countdown._days = $('.countdown__days', this); countdown._hrs = $('.countdown__hrs', this); countdown._mins = $('.countdown__mins', this); countdown._secs = $('.countdown__secs', this); countdown.endDate = new Date(countdown.data('countdown')); setInterval(function() { updateCountdown(countdown); }, 1000); }); function updateCountdown(countdown) { var curDays, curHrs, curMins, curSecs, startDate = new Date(), dateDelta = countdown.endDate - startDate, timeInSec = parseInt(dateDelta/1000); curSecs = parseInt(timeInSec % 60); timeInSec /= 60; curMins = parseInt(timeInSec % 60); timeInSec /= 60; curHrs = parseInt(timeInSec % 24); timeInSec /= 24; curDays = parseInt(timeInSec); countdown._days.text(curDays); countdown._hrs.text(curHrs); countdown._mins.text(curMins); countdown._secs.text(curSecs); } }; $('.countdown').bemCountdown(); })(jQuery);
42.
Блок «countdown» // CSS .countdown
{ display: flex; color: white; padding: 10px; margin-bottom: 20px; border: 1px solid pink; font-size: 23px; font-family: Helvetica, sans-serif; } .countdown__days:after { content: ' д.' } .countdown__hrs, .countdown__secs { margin: 0 10px; } .countdown__hrs:after { content: ' ч.' } .countdown__mins:after { content: ' м.' } .countdown__secs:after { content: ' c.' } 24 //HTML <div class="countdown" data-countdown="14 july 2015 23:59"> <div class="countdown__days">XX</div> <div class="countdown__hrs">XX</div> <div class="countdown__mins">XX</div> <div class="countdown__secs">XX</div> </div>
43.
про i-bem.js в
следующих вебинарах Вопросы?
44.
полезности github.com/hoho/jquery-bem
45.
https://ru.bem.info/forum/163/ БЭМ — это
не только про CSS