Upload
yandex
View
937
Download
1
Embed Size (px)
DESCRIPTION
Мы поговорим о том, как создать эффективный и надёжный код, переложив всю лишнюю работу на роботов. Решим проблему с разным окружением у разработчиков (vagrant), научимся писать стили удобно (roole, autoprefixer), оптимизируем получившийся CSS (clean-css, CSScomb) и графику (Imagemin, SVGO), проверим js-код (jshint, jshint-groups, jscs), убедимся, что некрасивый код не попадёт в репозиторий (git-hooks), и обсудим, как можно быстро и легко создавать новые инструменты. Автоматизируем всё, что можно, и подумаем, что и почему — нельзя!
Citation preview
Инструменты фронтенд-разработчикаВладимир Гриненко BEMup в Москве, 17 мая 2014
Бытие определяет сознание
vagrant
простая установка
работа с файлами из хостовой системы
прозрачная работа инструментов
гарантия консистентности
4
Поставка библиотек
bower
bower-npm-install
5
Оптимизация
borschik
clean-css
SVGO
6
Линтеры и бьютифаеры
jshint
jshint-groups
jscs
csscomb
7
Автоматизируй автоматику
git-hooks
8
Unit-тесты на всёmocha (visionmedia.github.io/mocha)
chai (chaijs.com)
sinon (sinonjs.org)
sinon-chai (github.com/domenic/sinon-chai)
phantomjs (phantomjs.org)
mocha-phantomjs
istanbul (gotwarlost.github.io/istanbul)9
Тесты на шаблоны
html-differ (github.com/eGavr/html-differ)
10
Тесты на верстку
gemini (ru.bem.info/tools/testing/gemini)
11
Автоматизируй автоматику
travis
saucelabs.com
12
Модульная система YM
Зачем: habrahabr.ru/post/181536
В чем фишка: habrahabr.ru/post/213627
Где взять: github.com/ymaps/modules
13
Модульная система YM
Асинхронный require модулей
Асинхронный provide модулей
Возможность передекларации/додекларации модуля
14
CSS-препроцессор
В чем фишка: roole.org
Где взять: npm i roole --save
15
Roole
написан на JS
PEG.js
богат фичами
похож на Stylus и SASS
16
Autoprefixer
Где взять: github.com/ai/autoprefixer
Забыли про вендорные префиксы
17
ENB: Альтернативная сборка
Что это: аналог bem-tools
Где взять: github.com/enb-make
18
Yoman
Генераторы проектов
19
node.js
Все инструменты на node.js
package.json можно использовать в качестве task-runner
20
COA
Парсер командной строки
github.com/veged/coa
21
COA
цветоной хелп
JS API
автокомплит
валидация
22
tpl-cli
volo
npm i -g volo
volo create my-tool arikon/tpl-cli
23
bem-naming
bem.info/tools/bem/bem-naming
24
Спасибо!
26
clubs.ya.ru/bem
twitter.com/bem_ru
facebook.com/groups/bem.info
bem.info
28
Владимир Гриненко Руководитель службы разработки БЭМ
@tadatuta