28

Владимир Гриненко —Инструменты фронтенд-разработчика

  • 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

Page 1: Владимир Гриненко —Инструменты фронтенд-разработчика
Page 2: Владимир Гриненко —Инструменты фронтенд-разработчика

Инструменты фронтенд-разработчикаВладимир Гриненко BEMup в Москве, 17 мая 2014

Page 3: Владимир Гриненко —Инструменты фронтенд-разработчика

Бытие определяет сознание

Page 4: Владимир Гриненко —Инструменты фронтенд-разработчика

vagrant

простая установка

работа с файлами из хостовой системы

прозрачная работа инструментов

гарантия консистентности

4

Page 5: Владимир Гриненко —Инструменты фронтенд-разработчика

Поставка библиотек

bower

bower-npm-install

5

Page 6: Владимир Гриненко —Инструменты фронтенд-разработчика

Оптимизация

borschik

clean-css

SVGO

6

Page 7: Владимир Гриненко —Инструменты фронтенд-разработчика

Линтеры и бьютифаеры

jshint

jshint-groups

jscs

csscomb

7

Page 8: Владимир Гриненко —Инструменты фронтенд-разработчика

Автоматизируй автоматику

git-hooks

8

Page 9: Владимир Гриненко —Инструменты фронтенд-разработчика

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

Page 10: Владимир Гриненко —Инструменты фронтенд-разработчика

Тесты на шаблоны

html-differ (github.com/eGavr/html-differ)

10

Page 11: Владимир Гриненко —Инструменты фронтенд-разработчика

Тесты на верстку

gemini (ru.bem.info/tools/testing/gemini)

11

Page 12: Владимир Гриненко —Инструменты фронтенд-разработчика

Автоматизируй автоматику

travis

saucelabs.com

12

Page 13: Владимир Гриненко —Инструменты фронтенд-разработчика

Модульная система YM

Зачем: habrahabr.ru/post/181536

В чем фишка: habrahabr.ru/post/213627

Где взять: github.com/ymaps/modules

13

Page 14: Владимир Гриненко —Инструменты фронтенд-разработчика

Модульная система YM

Асинхронный require модулей

Асинхронный provide модулей

Возможность передекларации/додекларации модуля

14

Page 15: Владимир Гриненко —Инструменты фронтенд-разработчика

CSS-препроцессор

В чем фишка: roole.org

Где взять: npm i roole --save

15

Page 16: Владимир Гриненко —Инструменты фронтенд-разработчика

Roole

написан на JS

PEG.js

богат фичами

похож на Stylus и SASS

16

Page 17: Владимир Гриненко —Инструменты фронтенд-разработчика

Autoprefixer

Где взять: github.com/ai/autoprefixer

Забыли про вендорные префиксы

17

Page 18: Владимир Гриненко —Инструменты фронтенд-разработчика

ENB: Альтернативная сборка

Что это: аналог bem-tools

Где взять: github.com/enb-make

18

Page 19: Владимир Гриненко —Инструменты фронтенд-разработчика

Yoman

Генераторы проектов

19

Page 20: Владимир Гриненко —Инструменты фронтенд-разработчика

node.js

Все инструменты на node.js

package.json можно использовать в качестве task-runner

20

Page 21: Владимир Гриненко —Инструменты фронтенд-разработчика

COA

Парсер командной строки

github.com/veged/coa

21

Page 22: Владимир Гриненко —Инструменты фронтенд-разработчика

COA

цветоной хелп

JS API

автокомплит

валидация

22

Page 23: Владимир Гриненко —Инструменты фронтенд-разработчика

tpl-cli

volo

npm i -g volo

volo create my-tool arikon/tpl-cli

23

Page 24: Владимир Гриненко —Инструменты фронтенд-разработчика

bem-naming

bem.info/tools/bem/bem-naming

24

Page 25: Владимир Гриненко —Инструменты фронтенд-разработчика

Спасибо!

Page 26: Владимир Гриненко —Инструменты фронтенд-разработчика

26

clubs.ya.ru/bem

twitter.com/bem_ru

facebook.com/groups/bem.info

bem.info

Page 27: Владимир Гриненко —Инструменты фронтенд-разработчика

27

bit.ly/msk-bemup-feedback

Page 28: Владимир Гриненко —Инструменты фронтенд-разработчика

28

Владимир Гриненко Руководитель службы разработки БЭМ

[email protected]

@tadatuta