О фреймворках / Роман Ивлиев (Банки.ру)

41
О фреймворках Роман Ивлиев, CIO, Банки.ру

Upload: ontico

Post on 14-Apr-2017

160 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: О фреймворках / Роман Ивлиев (Банки.ру)

О фреймворках Роман Ивлиев, CIO, Банки.ру

Page 2: О фреймворках / Роман Ивлиев (Банки.ру)

• Тестировщик

• Разработчик

• Руководитель разработчиков

• Руководитель тестировщиков

• Руководитель проектов

• CTO

• CIO

С 2002 года до сих пор

Page 3: О фреймворках / Роман Ивлиев (Банки.ру)

О чем мы с вами поговорим

• Фреймворки…, и зачем их пишут?

• Почему их так много?

• Плюсы и минусы применения.

• Наиболее распространённые мифы.

• На что стоит обратить внимание при выборе.

Page 4: О фреймворках / Роман Ивлиев (Банки.ру)
Page 5: О фреймворках / Роман Ивлиев (Банки.ру)

Зачем пишут фреймворки?

Почему их десятки?

Page 6: О фреймворках / Роман Ивлиев (Банки.ру)
Page 7: О фреймворках / Роман Ивлиев (Банки.ру)

Зачем же их пишут?

Page 8: О фреймворках / Роман Ивлиев (Банки.ру)

Зачем же их пишут?

• Удобство разработки;

• Ускорение разработки;

• Сокращение рутины и затрат;

• Стандартизация и структуризация;

Page 9: О фреймворках / Роман Ивлиев (Банки.ру)

Зачем же их пишут?

• Удобство разработки;

• Ускорение разработки;

• Сокращение рутины и затрат;

• Стандартизация и структуризация;

• Тот, что есть – плохой;

Page 10: О фреймворках / Роман Ивлиев (Банки.ру)

Зачем же их пишут?

• Удобство разработки;

• Ускорение разработки;

• Сокращение рутины и затрат;

• Стандартизация и структуризация;

• Тот, что есть – плохой;

• А кто из вас не начинал писать свой?

Page 11: О фреймворках / Роман Ивлиев (Банки.ру)

Плюсы и минусы применения

Не все решения полезны

Page 12: О фреймворках / Роман Ивлиев (Банки.ру)

Плюсы

• Типовые задачи уже решены;

• Есть шансы укорить разработку;

• Есть шансы делать одинаково;

• Есть шансы быстрее находить людей;

Page 13: О фреймворках / Роман Ивлиев (Банки.ру)

Плюсы

• Типовые задачи уже решены;

• Есть шансы укорить разработку;

• Есть шансы делать одинаково;

• Есть шансы быстрее находить людей;

• Разрабатывают профессионалы.

Page 14: О фреймворках / Роман Ивлиев (Банки.ру)

Минусы

• Сложность оптимизации;

• Сделаны не всегда удачно;

• Сокрытие элементов реализации;

• Надо переучиваться при замене;

Page 15: О фреймворках / Роман Ивлиев (Банки.ру)

Минусы

• Сложность оптимизации;

• Сделаны не всегда удачно;

• Сокрытие элементов реализации;

• Надо переучиваться при замене;

• Вы на «крючке».

Page 16: О фреймворках / Роман Ивлиев (Банки.ру)

Мифы о фреймворках

Наиболее часто встречающиеся

Page 17: О фреймворках / Роман Ивлиев (Банки.ру)

Фреймворк == безопасность

• Открытый код;

• Обилие сторонних разработок;

• Публичные анонсы патчей;

Page 18: О фреймворках / Роман Ивлиев (Банки.ру)

Фреймворк == безопасность

• Открытый код;

• Обилие сторонних разработок;

• Публичные анонсы патчей;

• А много кто из вас тестирует безопасность?

Page 19: О фреймворках / Роман Ивлиев (Банки.ру)

Легко подменить инженера

• У вас популярный фреймворк?

• Ваш проект только начат?

• У вас есть CR и стандарт на разработку?

Page 20: О фреймворках / Роман Ивлиев (Банки.ру)

Легко подменить инженера

• У вас популярный фреймворк?

• Ваш проект только начат?

• У вас есть CR и стандарт на разработку?

• Без сноровки – овнокод

Page 21: О фреймворках / Роман Ивлиев (Банки.ру)

Скорость разработки

• Если нужно типовое решение;

• Если не волнует обратная совместимость;

• Если низкая текучка;

Page 22: О фреймворках / Роман Ивлиев (Банки.ру)

Скорость разработки

• Если нужно типовое решение;

• Если не волнует обратная совместимость;

• Если низкая текучка;

• Если есть специалисты.

Page 23: О фреймворках / Роман Ивлиев (Банки.ру)

Заказчику это нужно

• Зависит от проекта;

• Многие из них – жертвы моды;

• Часто собирают команду под проект;

Page 24: О фреймворках / Роман Ивлиев (Банки.ру)

Заказчику это нужно

• Зависит от проекта;

• Многие из них – жертвы моды;

• Часто собирают команду под решение;

• На самом деле нужно рабочее решение

Page 25: О фреймворках / Роман Ивлиев (Банки.ру)

Фреймворк плохой, потому что:

• не может что-то из коробки;

• если так уже умеет другой фреймворк;

• в нем сделать вот так нельзя;

Page 26: О фреймворках / Роман Ивлиев (Банки.ру)

Фреймворк плохой, потому что:

• не может что-то из коробки;

• если так уже умеет другой фреймворк;

• в нем сделать вот так нельзя;

• не нравится кому-то из сильных инженеров.

Page 27: О фреймворках / Роман Ивлиев (Банки.ру)

Выбираем фреймворк

На что стоит обратить внимание?

Page 28: О фреймворках / Роман Ивлиев (Банки.ру)

Комьюнити и ваши силы

• На сколько популярно решение?

• Как давно оно на рынке?

• Насколько интенсивно развитие и поддержка?

• Какой ваш личный опыт?

• Есть ли время на изучение?

• …

Page 29: О фреймворках / Роман Ивлиев (Банки.ру)

Процесс разработки

• А сколько лет будут поддерживать?

• Качество документации вас устраивает?

• На сколько автоматизирована разработка?

• Есть ли интеграции с стилевыми библиотеками?

• Есть ли другие интеграции?

• …

Page 30: О фреймворках / Роман Ивлиев (Банки.ру)

Функционал и Тестирование

• Из коробки можно начинать?

• Есть ли скелеты приложений?

• Есть ли интеграция с unit-фреймворками?

• На сколько прозрачен механизм тестирования?

• …

Page 31: О фреймворках / Роман Ивлиев (Банки.ру)

Возможности для расширения

• Есть ли библиотеки готовых компонент?

• Есть ли прозрачный процесс разработки расширений?

• А нет ли возможности собрать ваше приложение сразу?

• …

Page 32: О фреймворках / Роман Ивлиев (Банки.ру)

Производительность и отладка

• Легко ли отлаживать?

• Результаты бенчмарков удовлетворяют?

• Есть ли обратная совместимость?

• Есть ли солидные ресурсы на вашей технологии?

• …

Page 33: О фреймворках / Роман Ивлиев (Банки.ру)

Критериев может быть куда больше

• Удобство работы с данными;

• Кэширование;

• Удобство роутинга;

• Продолжать можно долго;

Page 34: О фреймворках / Роман Ивлиев (Банки.ру)

Критериев может быть куда больше

• Удобство работы с данными;

• Кэширование;

• Удобство роутинга;

• Продолжать можно долго;

• Ваш критерий может быть основным.

Page 35: О фреймворках / Роман Ивлиев (Банки.ру)

Заключение

Собираем камни

Page 36: О фреймворках / Роман Ивлиев (Банки.ру)
Page 37: О фреймворках / Роман Ивлиев (Банки.ру)
Page 38: О фреймворках / Роман Ивлиев (Банки.ру)

Шаги:

• Понять, какова ваша задача;

• Понять, каковы ваши возможности;

• Понять, каковы перспективы проекта;

• Составить список критериев для отбора;

Page 39: О фреймворках / Роман Ивлиев (Банки.ру)

Шаги:

• Понять, какова ваша задача;

• Понять, каковы ваши возможности;

• Понять, каковы перспективы проекта;

• Составить список критериев для отбора;

• Profit.

Page 40: О фреймворках / Роман Ивлиев (Банки.ру)

«Слова вы услышали, поиск пути за вами» Уильям Деминг

Page 41: О фреймворках / Роман Ивлиев (Банки.ру)

С удовольствием отвечу на Ваши вопросы

@dumtest

[email protected]

roman.ivliyev