В мире фронтенда уже существует большое количество инструментов: как браузерных, так и консольных. Но достаточно ли этих инструментов? Мне кажется, что нет. Веб-приложения становятся все больше и сложнее, и многое остается вне нашего поля зрения. Потому фреймворки и приложения должны предоставлять дополнительные инструменты, упрощающие разработку и улучшающие понимание того, что же происходит у них там — «под капотом». В ходе доклада я расскажу о таких инструментах: какими они могут быть, какие задачи могут решать, что необходимо для их создания.
CodeFest, Новосибирск, 28 марта 2015
http://www.youtube.com/watch?v=HMTc3DERw5c
9. Доклады по теме
• Автоматизация фронтенда – сегодня и завтра
Роберт Харитонов, rhr.me/pres/automation/
• Front-end Tooling Workflows
Addy Osmani, tinyurl.com/front-end-tooling-workflows
• Суперсилы Chrome DevTools
Роман Сальников, tinyurl.com/powerofdevtools
9
10. В более широком смысле,
инструменты – всё, что помогает
нам достигать наших целей
10
13. У каждого своя история
• Поддерживаемые браузеры (среда исполнения)
• Подходящие технологии, фреймворки
• Особенности процесса разработки
• Критерии качества
• ...
13
17. Грустная история 1
17
популярный, но не эффективный фреймворк
→ работает медленно, много багов
→ перекладываем задачи на бекенд
→ теряем независимость и усложняем решение
= невозможность интересных сценариев
18. Грустная история 2
18
отсутствие готовых отточенных решений
→ много повторяющегося кода
→ более компактные языки
→ пре-процессоры
= обязательная сборка (медленный workflow)
25. Основные принципы
1. Автоматизация во всем
2. Не делаем то, что можно не делать
3. Ускорение технических процессов
4. Отсутствие ожидания (real time)
5. Наглядность
6. Быстрая навигация
7. Анализируем все, что анализируется
25
26. 1. Автоматизация во всем
Избавляемся от рутины – используем скрипты,
сборщики, task runner'ы, кодогенерацию, ...
26
27. 2. Не делаем, что можно не делать
Отсутствие сборки при разработке, подсказки,
короткое описание задач, придумывание имен…
27
30. Основные принципы
1. Автоматизация во всем
2. Не делаем то, что можно не делать
3. Ускорение технических процессов
4. Отсутствие ожидания (real time)
5. Наглядность
6. Быстрая навигация
7. Анализируем все, что анализируется
30
31. Что это было?
Выполнение рутиной работы
Процесс автоматический
Не делаем, то что можно не делать
Анализ определяет, что нужно для сборки
Ускорение тех. процессов
Все работает без сборки, используем кеш
31
37. Основные принципы
1. Автоматизация во всем
2. Не делаем то, что можно не делать
3. Ускорение технических процессов
4. Отсутствие ожидания (real time)
5. Наглядность
6. Быстрая навигация
7. Анализируем все, что анализируется
37
38. Что это было?
Отсутствие ожидания
Вносимые изменения видны сразу
Наглядность
Схематичное представление, специальные интерфейсы
Быстрая навигация
Мгновенный переход к нужному описанию
38
40. Вот почему
• Быстро и качественно делаете сложные штуки
• Понимаете как работает, хотя еще не видели код
• Результат виден без ожиданий
• Ничего не тормозит превращение вашей идеи
в конечный результат
40
48. Те же принципы
Не делаем, то что можно не делать
Не нужно модифицировать код
Отсутствие ожидания
Тесты перезапускаются по мере изменения кода
Быстрая навигация
Переход к коду теста, debugger на нужной строке
48