SlideShare a Scribd company logo
О фреймворках
Роман Ивлиев, CIO, Банки.ру
• Тестировщик
• Разработчик
• Руководитель разработчиков
• Руководитель тестировщиков
• Руководитель проектов
• CTO
• CIO
С 2002 года до сих пор
О чем мы с вами поговорим
• Фреймворки…, и зачем их пишут?
• Почему их так много?
• Плюсы и минусы применения.
• Наиболее распространённые мифы.
• На что стоит обратить внимание при выборе.
Зачем пишут фреймворки?
Почему их десятки?
Зачем же их пишут?
Зачем же их пишут?
• Удобство разработки;
• Ускорение разработки;
• Сокращение рутины и затрат;
• Стандартизация и структуризация;
Зачем же их пишут?
• Удобство разработки;
• Ускорение разработки;
• Сокращение рутины и затрат;
• Стандартизация и структуризация;
• Тот, что есть – плохой;
Зачем же их пишут?
• Удобство разработки;
• Ускорение разработки;
• Сокращение рутины и затрат;
• Стандартизация и структуризация;
• Тот, что есть – плохой;
• А кто из вас не начинал писать свой?
Плюсы и минусы применения
Не все решения полезны
Плюсы
• Типовые задачи уже решены;
• Есть шансы укорить разработку;
• Есть шансы делать одинаково;
• Есть шансы быстрее находить людей;
Плюсы
• Типовые задачи уже решены;
• Есть шансы укорить разработку;
• Есть шансы делать одинаково;
• Есть шансы быстрее находить людей;
• Разрабатывают профессионалы.
Минусы
• Сложность оптимизации;
• Сделаны не всегда удачно;
• Сокрытие элементов реализации;
• Надо переучиваться при замене;
Минусы
• Сложность оптимизации;
• Сделаны не всегда удачно;
• Сокрытие элементов реализации;
• Надо переучиваться при замене;
• Вы на «крючке».
Мифы о фреймворках
Наиболее часто встречающиеся
Фреймворк == безопасность
• Открытый код;
• Обилие сторонних разработок;
• Публичные анонсы патчей;
Фреймворк == безопасность
• Открытый код;
• Обилие сторонних разработок;
• Публичные анонсы патчей;
• А много кто из вас тестирует безопасность?
Легко подменить инженера
• У вас популярный фреймворк?
• Ваш проект только начат?
• У вас есть CR и стандарт на разработку?
Легко подменить инженера
• У вас популярный фреймворк?
• Ваш проект только начат?
• У вас есть CR и стандарт на разработку?
• Без сноровки – овнокод
Скорость разработки
• Если нужно типовое решение;
• Если не волнует обратная совместимость;
• Если низкая текучка;
Скорость разработки
• Если нужно типовое решение;
• Если не волнует обратная совместимость;
• Если низкая текучка;
• Если есть специалисты.
Заказчику это нужно
• Зависит от проекта;
• Многие из них – жертвы моды;
• Часто собирают команду под проект;
Заказчику это нужно
• Зависит от проекта;
• Многие из них – жертвы моды;
• Часто собирают команду под решение;
• На самом деле нужно рабочее решение
Фреймворк плохой, потому что:
• не может что-то из коробки;
• если так уже умеет другой фреймворк;
• в нем сделать вот так нельзя;
Фреймворк плохой, потому что:
• не может что-то из коробки;
• если так уже умеет другой фреймворк;
• в нем сделать вот так нельзя;
• не нравится кому-то из сильных инженеров.
Выбираем фреймворк
На что стоит обратить внимание?
Комьюнити и ваши силы
• На сколько популярно решение?
• Как давно оно на рынке?
• Насколько интенсивно развитие и поддержка?
• Какой ваш личный опыт?
• Есть ли время на изучение?
• …
Процесс разработки
• А сколько лет будут поддерживать?
• Качество документации вас устраивает?
• На сколько автоматизирована разработка?
• Есть ли интеграции с стилевыми библиотеками?
• Есть ли другие интеграции?
• …
Функционал и Тестирование
• Из коробки можно начинать?
• Есть ли скелеты приложений?
• Есть ли интеграция с unit-фреймворками?
• На сколько прозрачен механизм тестирования?
• …
Возможности для расширения
• Есть ли библиотеки готовых компонент?
• Есть ли прозрачный процесс разработки расширений?
• А нет ли возможности собрать ваше приложение
сразу?
• …
Производительность и отладка
• Легко ли отлаживать?
• Результаты бенчмарков удовлетворяют?
• Есть ли обратная совместимость?
• Есть ли солидные ресурсы на вашей технологии?
• …
Критериев может быть куда больше
• Удобство работы с данными;
• Кэширование;
• Удобство роутинга;
• Продолжать можно долго;
Критериев может быть куда больше
• Удобство работы с данными;
• Кэширование;
• Удобство роутинга;
• Продолжать можно долго;
• Ваш критерий может быть основным.
Заключение
Собираем камни
Шаги:
• Понять, какова ваша задача;
• Понять, каковы ваши возможности;
• Понять, каковы перспективы проекта;
• Составить список критериев для отбора;
Шаги:
• Понять, какова ваша задача;
• Понять, каковы ваши возможности;
• Понять, каковы перспективы проекта;
• Составить список критериев для отбора;
• Profit.
«Слова вы услышали, поиск пути за вами»
Уильям Деминг
С удовольствием отвечу на Ваши вопросы
@dumtest
roman@ivliev.info
roman.ivliyev

More Related Content

What's hot

UWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахUWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахAlexander Makarov
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Ontico
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
Badoo Development
 
как инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесукак инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесуAndrey Rebrov
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
Ontico
 
Когда код «убивает», или зачем нам тестировать наши продукты
Когда код «убивает», или зачем  нам тестировать наши продуктыКогда код «убивает», или зачем  нам тестировать наши продукты
Когда код «убивает», или зачем нам тестировать наши продукты
Олег Стрекаловский
 
Лучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиЛучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователи
SQALab
 
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Rina Uzhevko
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
Rina Uzhevko
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU
 
Тестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и какТестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и как
SQALab
 
CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest
 
А. Калугин. О параллельном тестировании нескольких проектов. SQADays'10
А. Калугин. О параллельном тестировании нескольких проектов. SQADays'10А. Калугин. О параллельном тестировании нескольких проектов. SQADays'10
А. Калугин. О параллельном тестировании нескольких проектов. SQADays'10Alexander Kalouguine
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием PythonБыстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Python
automated-testing.info
 
Creating Open Source Projects
Creating Open Source ProjectsCreating Open Source Projects
Creating Open Source ProjectsAlexei Yuzhakov
 
низкоуровневое программирование сегодня новые стандарты с++, программирован...
низкоуровневое программирование сегодня   новые стандарты с++, программирован...низкоуровневое программирование сегодня   новые стандарты с++, программирован...
низкоуровневое программирование сегодня новые стандарты с++, программирован...
COMAQA.BY
 
ChatOps на практике. Организация работы команды сопровождения / Евгений Потап...
ChatOps на практике. Организация работы команды сопровождения / Евгений Потап...ChatOps на практике. Организация работы команды сопровождения / Евгений Потап...
ChatOps на практике. Организация работы команды сопровождения / Евгений Потап...
Ontico
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипированиеMaxim Gaponov
 
Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Есть фича. Помогите протестировать
Есть фича. Помогите протестировать
Rina Uzhevko
 

What's hot (19)

UWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворкахUWDC'12, Александр Макаров, О командной разработке и фреймворках
UWDC'12, Александр Макаров, О командной разработке и фреймворках
 
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
Куда катится PHP, а также про Yii и другие фреймворки / Александр Макаров (St...
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
как инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесукак инженерные практики помогают экономить бизнесу
как инженерные практики помогают экономить бизнесу
 
Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)Алексей Рыбак (Badoo)
Алексей Рыбак (Badoo)
 
Когда код «убивает», или зачем нам тестировать наши продукты
Когда код «убивает», или зачем  нам тестировать наши продуктыКогда код «убивает», или зачем  нам тестировать наши продукты
Когда код «убивает», или зачем нам тестировать наши продукты
 
Лучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователиЛучшие тестировщики - наши пользователи
Лучшие тестировщики - наши пользователи
 
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
Доклад Очира Абушинова на встрече клубе MSTC (17/05/2014)
 
Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
 
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
 
Тестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и какТестировщик в стартапе. Зачем и как
Тестировщик в стартапе. Зачем и как
 
CodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиковCodeFest 2010. Платов А. — Производство ПО для разработчиков
CodeFest 2010. Платов А. — Производство ПО для разработчиков
 
А. Калугин. О параллельном тестировании нескольких проектов. SQADays'10
А. Калугин. О параллельном тестировании нескольких проектов. SQADays'10А. Калугин. О параллельном тестировании нескольких проектов. SQADays'10
А. Калугин. О параллельном тестировании нескольких проектов. SQADays'10
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием PythonБыстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Python
 
Creating Open Source Projects
Creating Open Source ProjectsCreating Open Source Projects
Creating Open Source Projects
 
низкоуровневое программирование сегодня новые стандарты с++, программирован...
низкоуровневое программирование сегодня   новые стандарты с++, программирован...низкоуровневое программирование сегодня   новые стандарты с++, программирован...
низкоуровневое программирование сегодня новые стандарты с++, программирован...
 
ChatOps на практике. Организация работы команды сопровождения / Евгений Потап...
ChatOps на практике. Организация работы команды сопровождения / Евгений Потап...ChatOps на практике. Организация работы команды сопровождения / Евгений Потап...
ChatOps на практике. Организация работы команды сопровождения / Евгений Потап...
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипирование
 
Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Есть фича. Помогите протестировать
Есть фича. Помогите протестировать
 

Viewers also liked

Бывает так, что вас нет рядом
Бывает так, что вас нет рядомБывает так, что вас нет рядом
Бывает так, что вас нет рядом
Roman Ivliev
 
Как мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучшеКак мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучше
Roman Ivliev
 
Внедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжинирингВнедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжиниринг
Roman Ivliev
 
Тестирование для программистов
Тестирование для программистовТестирование для программистов
Тестирование для программистов
Roman Ivliev
 
Аквариум своими руками
Аквариум своими рукамиАквариум своими руками
Аквариум своими руками
Roman Ivliev
 
Heavy metal testing Part 3
Heavy metal testing Part 3Heavy metal testing Part 3
Heavy metal testing Part 3Roman Ivliev
 
Soa tester view
Soa tester viewSoa tester view
Soa tester view
Roman Ivliev
 

Viewers also liked (7)

Бывает так, что вас нет рядом
Бывает так, что вас нет рядомБывает так, что вас нет рядом
Бывает так, что вас нет рядом
 
Как мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучшеКак мы помогаем тестировщикам делать их работу лучше
Как мы помогаем тестировщикам делать их работу лучше
 
Внедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжинирингВнедрение изменений: рефакторинг Vs реинжиниринг
Внедрение изменений: рефакторинг Vs реинжиниринг
 
Тестирование для программистов
Тестирование для программистовТестирование для программистов
Тестирование для программистов
 
Аквариум своими руками
Аквариум своими рукамиАквариум своими руками
Аквариум своими руками
 
Heavy metal testing Part 3
Heavy metal testing Part 3Heavy metal testing Part 3
Heavy metal testing Part 3
 
Soa tester view
Soa tester viewSoa tester view
Soa tester view
 

Similar to О фреймворках Backend conf 2016

Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Ontico
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
Denis Tuchin
 
Профессии в IT
Профессии в ITПрофессии в IT
Профессии в IT
Sam Faktorovich
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
Ontico
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 
Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий Стрелюк
SQALab
 
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
borovoystudio
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0HighLoad2009
 
Гибкость, возведенная в абсолют
Гибкость, возведенная в абсолютГибкость, возведенная в абсолют
Гибкость, возведенная в абсолют
amirutov
 
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
borovoystudio
 
Александр Жарков — Эволюция команды разработки: взгляд изнутри
Александр Жарков — Эволюция команды разработки: взгляд изнутриАлександр Жарков — Эволюция команды разработки: взгляд изнутри
Александр Жарков — Эволюция команды разработки: взгляд изнутриDaria Oreshkina
 
В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...
В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...
В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...
borovoystudio
 
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Анастасия Виноградова
 
Артур Чеканов - Develop like a BOSS
Артур Чеканов - Develop like a BOSSАртур Чеканов - Develop like a BOSS
Артур Чеканов - Develop like a BOSSDataArt
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
ScrumTrek
 
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Ontico
 
Ryazan
RyazanRyazan
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...MDDay_4
 

Similar to О фреймворках Backend conf 2016 (20)

Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Профессии в IT
Профессии в ITПрофессии в IT
Профессии в IT
 
Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013Учебный день конференции HighLoad++ 2013
Учебный день конференции HighLoad++ 2013
 
Критерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборотаКритерии выбора системы электронного документооборота
Критерии выбора системы электронного документооборота
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 
Виталий Стрелюк
Виталий СтрелюкВиталий Стрелюк
Виталий Стрелюк
 
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков   Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Гибкость, возведенная в абсолют
Гибкость, возведенная в абсолютГибкость, возведенная в абсолют
Гибкость, возведенная в абсолют
 
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
 
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
 
Александр Жарков — Эволюция команды разработки: взгляд изнутри
Александр Жарков — Эволюция команды разработки: взгляд изнутриАлександр Жарков — Эволюция команды разработки: взгляд изнутри
Александр Жарков — Эволюция команды разработки: взгляд изнутри
 
В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...
В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...
В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...
 
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
 
Артур Чеканов - Develop like a BOSS
Артур Чеканов - Develop like a BOSSАртур Чеканов - Develop like a BOSS
Артур Чеканов - Develop like a BOSS
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)Гибкое прототипирование для гибкой разработки (Максим Гапонов)
Гибкое прототипирование для гибкой разработки (Максим Гапонов)
 
Ryazan
RyazanRyazan
Ryazan
 
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
«тестирование для программистов. или «есть ли жизнь без тестировщиков» ( рома...
 

More from Roman Ivliev

Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-систем
Roman Ivliev
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
Roman Ivliev
 
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузкиМой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Roman Ivliev
 
Почему почта плохо работает
Почему почта плохо работаетПочему почта плохо работает
Почему почта плохо работает
Roman Ivliev
 
Тренеры и тренинги.
Тренеры и тренинги.Тренеры и тренинги.
Тренеры и тренинги.
Roman Ivliev
 
Про построение нагруженных систем
Про построение нагруженных системПро построение нагруженных систем
Про построение нагруженных систем
Roman Ivliev
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграций
Roman Ivliev
 
Qualitative battle for the quantity final
Qualitative battle for the quantity finalQualitative battle for the quantity final
Qualitative battle for the quantity finalRoman Ivliev
 
Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Roman Ivliev
 

More from Roman Ivliev (9)

Точка кипения: проектирование крупных веб-систем
Точка кипения:  проектирование крупных веб-системТочка кипения:  проектирование крупных веб-систем
Точка кипения: проектирование крупных веб-систем
 
Темная сторона метрик
Темная сторона метрикТемная сторона метрик
Темная сторона метрик
 
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузкиМой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
Мой рассказ на Codefest 2015 о том, как мы пережили рост нагрузки
 
Почему почта плохо работает
Почему почта плохо работаетПочему почта плохо работает
Почему почта плохо работает
 
Тренеры и тренинги.
Тренеры и тренинги.Тренеры и тренинги.
Тренеры и тренинги.
 
Про построение нагруженных систем
Про построение нагруженных системПро построение нагруженных систем
Про построение нагруженных систем
 
Про тестирование миграций
Про тестирование миграцийПро тестирование миграций
Про тестирование миграций
 
Qualitative battle for the quantity final
Qualitative battle for the quantity finalQualitative battle for the quantity final
Qualitative battle for the quantity final
 
Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2Heavy metal testing Part 1 and 2
Heavy metal testing Part 1 and 2
 

О фреймворках Backend conf 2016

  • 2. • Тестировщик • Разработчик • Руководитель разработчиков • Руководитель тестировщиков • Руководитель проектов • CTO • CIO С 2002 года до сих пор
  • 3. О чем мы с вами поговорим • Фреймворки…, и зачем их пишут? • Почему их так много? • Плюсы и минусы применения. • Наиболее распространённые мифы. • На что стоит обратить внимание при выборе.
  • 4.
  • 6.
  • 7. Зачем же их пишут?
  • 8. Зачем же их пишут? • Удобство разработки; • Ускорение разработки; • Сокращение рутины и затрат; • Стандартизация и структуризация;
  • 9. Зачем же их пишут? • Удобство разработки; • Ускорение разработки; • Сокращение рутины и затрат; • Стандартизация и структуризация; • Тот, что есть – плохой;
  • 10. Зачем же их пишут? • Удобство разработки; • Ускорение разработки; • Сокращение рутины и затрат; • Стандартизация и структуризация; • Тот, что есть – плохой; • А кто из вас не начинал писать свой?
  • 11. Плюсы и минусы применения Не все решения полезны
  • 12. Плюсы • Типовые задачи уже решены; • Есть шансы укорить разработку; • Есть шансы делать одинаково; • Есть шансы быстрее находить людей;
  • 13. Плюсы • Типовые задачи уже решены; • Есть шансы укорить разработку; • Есть шансы делать одинаково; • Есть шансы быстрее находить людей; • Разрабатывают профессионалы.
  • 14. Минусы • Сложность оптимизации; • Сделаны не всегда удачно; • Сокрытие элементов реализации; • Надо переучиваться при замене;
  • 15. Минусы • Сложность оптимизации; • Сделаны не всегда удачно; • Сокрытие элементов реализации; • Надо переучиваться при замене; • Вы на «крючке».
  • 16. Мифы о фреймворках Наиболее часто встречающиеся
  • 17. Фреймворк == безопасность • Открытый код; • Обилие сторонних разработок; • Публичные анонсы патчей;
  • 18. Фреймворк == безопасность • Открытый код; • Обилие сторонних разработок; • Публичные анонсы патчей; • А много кто из вас тестирует безопасность?
  • 19. Легко подменить инженера • У вас популярный фреймворк? • Ваш проект только начат? • У вас есть CR и стандарт на разработку?
  • 20. Легко подменить инженера • У вас популярный фреймворк? • Ваш проект только начат? • У вас есть CR и стандарт на разработку? • Без сноровки – овнокод
  • 21. Скорость разработки • Если нужно типовое решение; • Если не волнует обратная совместимость; • Если низкая текучка;
  • 22. Скорость разработки • Если нужно типовое решение; • Если не волнует обратная совместимость; • Если низкая текучка; • Если есть специалисты.
  • 23. Заказчику это нужно • Зависит от проекта; • Многие из них – жертвы моды; • Часто собирают команду под проект;
  • 24. Заказчику это нужно • Зависит от проекта; • Многие из них – жертвы моды; • Часто собирают команду под решение; • На самом деле нужно рабочее решение
  • 25. Фреймворк плохой, потому что: • не может что-то из коробки; • если так уже умеет другой фреймворк; • в нем сделать вот так нельзя;
  • 26. Фреймворк плохой, потому что: • не может что-то из коробки; • если так уже умеет другой фреймворк; • в нем сделать вот так нельзя; • не нравится кому-то из сильных инженеров.
  • 27. Выбираем фреймворк На что стоит обратить внимание?
  • 28. Комьюнити и ваши силы • На сколько популярно решение? • Как давно оно на рынке? • Насколько интенсивно развитие и поддержка? • Какой ваш личный опыт? • Есть ли время на изучение? • …
  • 29. Процесс разработки • А сколько лет будут поддерживать? • Качество документации вас устраивает? • На сколько автоматизирована разработка? • Есть ли интеграции с стилевыми библиотеками? • Есть ли другие интеграции? • …
  • 30. Функционал и Тестирование • Из коробки можно начинать? • Есть ли скелеты приложений? • Есть ли интеграция с unit-фреймворками? • На сколько прозрачен механизм тестирования? • …
  • 31. Возможности для расширения • Есть ли библиотеки готовых компонент? • Есть ли прозрачный процесс разработки расширений? • А нет ли возможности собрать ваше приложение сразу? • …
  • 32. Производительность и отладка • Легко ли отлаживать? • Результаты бенчмарков удовлетворяют? • Есть ли обратная совместимость? • Есть ли солидные ресурсы на вашей технологии? • …
  • 33. Критериев может быть куда больше • Удобство работы с данными; • Кэширование; • Удобство роутинга; • Продолжать можно долго;
  • 34. Критериев может быть куда больше • Удобство работы с данными; • Кэширование; • Удобство роутинга; • Продолжать можно долго; • Ваш критерий может быть основным.
  • 36.
  • 37.
  • 38. Шаги: • Понять, какова ваша задача; • Понять, каковы ваши возможности; • Понять, каковы перспективы проекта; • Составить список критериев для отбора;
  • 39. Шаги: • Понять, какова ваша задача; • Понять, каковы ваши возможности; • Понять, каковы перспективы проекта; • Составить список критериев для отбора; • Profit.
  • 40. «Слова вы услышали, поиск пути за вами» Уильям Деминг
  • 41. С удовольствием отвечу на Ваши вопросы @dumtest roman@ivliev.info roman.ivliyev