continuous integration(как мы подружили frontend и backend)

27
Continuous Integration, или как мы подружили Front-end и Back-end

Upload: talksworks

Post on 16-Apr-2017

415 views

Category:

Technology


11 download

TRANSCRIPT

Page 1: Continuous Integration(как мы подружили frontend и backend)

Continuous Integration, или как мы подружили Front-end и Back-end

Page 2: Continuous Integration(как мы подружили frontend и backend)
Page 3: Continuous Integration(как мы подружили frontend и backend)

Почему?

Page 4: Continuous Integration(как мы подружили frontend и backend)

Типовой процесс разработки

Проектирование

Front-end

Back-end

Продукт

Дизайн

Page 5: Continuous Integration(как мы подружили frontend и backend)

Типовой процесс разработки

Проектирование

Дизайн

Front-end

Back-end

Продукт

.PSD

.html .css .js

Прототип

Page 6: Continuous Integration(как мы подружили frontend и backend)

Что в этом плохого?

— Экспоненциально растущие риски— Необходимость килограммового ТЗ— Невозможность применять Agile

Page 7: Continuous Integration(как мы подружили frontend и backend)

Типовые проблемы с “версткой”

— Не все макеты— Логика ломается из-за скорости работы back-end — Верстка расползается на реальных данных

Page 8: Continuous Integration(как мы подружили frontend и backend)

Кто виноват?

Никто

— Спроектировали то что знали— Нарисовали то что спроектировали— Сверстали все макеты— Интегрировали все что было

Page 9: Continuous Integration(как мы подружили frontend и backend)

Что делать?

— Возврат к этапу с ошибкой и правят — На текущем этапе “колхозят” как умеют— Full-stack разработчик— Работать сразу над конечным продуктом, избегая промежуточных артефактов

Page 10: Continuous Integration(как мы подружили frontend и backend)

Возврат на предыдущие этапы

Минусы— Колоссальные затраты— Недоступность исполнителей

Плюсы— Можно освоить гигантские бюджеты

Page 11: Continuous Integration(как мы подружили frontend и backend)

“Колхоз”

Минусы— Требуется доп.квалификация сотрудника— Низкое качество конечного продукта

Плюсы— Дешево

Page 12: Continuous Integration(как мы подружили frontend и backend)

Full-stack разработчик

Минусы— Таких не существует— Низкое качество проектов— Высокие риски связанные с исполнителемПлюсы— Очень просто для менеджера

Page 13: Continuous Integration(как мы подружили frontend и backend)

Отказ от артефактов — тренды

— Дизайн в браузере— Continuous Integration

Page 14: Continuous Integration(как мы подружили frontend и backend)

“Непрерывная интеграция (CI, англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем”.

© Википедия

Page 15: Continuous Integration(как мы подружили frontend и backend)

Что значит CI для Front-end разработчика?

— Применять автоматизацию сборки— Верстать сразу на CMS/Framework

Page 16: Continuous Integration(как мы подружили frontend и backend)

Как это внедрить в 1C-Bitrix

— Применять шаблонизатор (Twig)— Готовить back-end и данные ДО front-end

Page 17: Continuous Integration(как мы подружили frontend и backend)

Front-end CI для 1С-Bitrix — MVC

M C VМодуль Компонент Шаблон

Page 18: Continuous Integration(как мы подружили frontend и backend)

Front-end CI для 1С-Bitrix — Шаблоны

Page 19: Continuous Integration(как мы подружили frontend и backend)

Структура— Исходники front-end в том же .git репозитории, что и сборка Bitrix— Все “исходники” вне публичной папки— Grunt собирает assets сразу в шаблона Bitrix

Page 20: Continuous Integration(как мы подружили frontend и backend)

Фактические изменения дляFront-end разработчика

— Нужен локальный web-сервер для работы— Работа с Twig вместо HTML— Grunt/Gulp собирает сразу “внутрь” Bitrix— Тесная работа с back-end разработчиком

Page 21: Continuous Integration(как мы подружили frontend и backend)

Что это дает?

— Улучшение качества продукта— Командная работа— Уменьшение сроков разработки— Возможность гибко реагировать на изменяющиеся требования (Agile)— Continuous Deployment

Page 22: Continuous Integration(как мы подружили frontend и backend)

Уменьшение сроков — как было

Дизайн

Интеграция+ Back-end

Front-end

Прототип

QA

Page 23: Continuous Integration(как мы подружили frontend и backend)

Уменьшение сроков — получше

Дизайн

Front-end

Прототип

Back-end

QA

Page 24: Continuous Integration(как мы подружили frontend и backend)

Уменьшение сроков — идеально

Дизайн

Front-end

Прототип

Back-end

QAQA

Page 25: Continuous Integration(как мы подружили frontend и backend)

Гибкие методологии — Agile

Дизайн

Front-end

Прототип

Back-end

QAQA

x N = Agile

Page 26: Continuous Integration(как мы подружили frontend и backend)

Так зачем нам все это?

Чтобы делатьболее крутые проектыс меньшими усилиями

Page 27: Continuous Integration(как мы подружили frontend и backend)

Спасибо за внимание

Подрубный Константин

email: [email protected]: http://fb.com/podrubnyweb: http://wlbl.ru/