at0m1x
@at0m1x

Что лучше, свой фреймворк или сторонний?

Насчет того какой фреймворк лучше, и вообще стоит его использовать или нет, много мнений) И фреймворков тоже много.

Конечно большинство считают что лучше брать готовое решение чем писать велосипед.

Допустим есть проект, который определенная команда из нескольких человек постоянно поддерживает/дорабатывает/улучшает. Есть у этого проекта и ПМ который ставит бизнес задачи. ПМ-му трудно понять внутреннее устройство проекта и что в нем есть какой то там "фреймворк", он просто хочет что бы "работало".

Когда проект только начинали разрабатывать, команда решила использовать один из популярных фреймворков, в итоге проект был сделан на нем.

Прошло несколько лет, за которые проект развился, довольно сильно оброс функциональностью, было выполнено множество бизнес задач.

Но в течении этих лет, уже вышло несколько новых версий того фреймворка который использовался в проекте, и старая версия уже не поддерживается.

В идеале версию фреймворка нужно периодически обновлять в проекте.

Но что если новая версия очень сильно отличается от старой, придется проделать много работы по переделке большого проекта на новую версию.

Вопрос: Что лучше для большого проекта, сторонний фреймворк и поддержка его актуализации в течении жизни проекта? Или свой "велосипед" который будет обновляться самой командой в соответствиями с требованиями проекта?

Как обычно поступают команды, когда используется сторонний фреймворк, постоянно обновляют его версию в проекте или остаются на старой версии?
  • Вопрос задан
  • 542 просмотра
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
> "велосипед" который будет обновляться самой командой в соответствиями с требованиями проекта?

Проблема в том, что требования бизнес-процесса всегда имеют больший приоритет перед необходимостью технической модернизации. И в реальности внутренний фремворк никогда не обновляется (ну, если только конечно вы не Баду с 100500 девопсов), и через пару лет разработчики начинают чувствовать себя питекантропами.

Следует понимать, что используя мейнстримный фремворк, вы получаете обновления на халяву. Обновления, над которыми работают тысячи людей - ресурс, которого у коллектива системы "междусобочик" никогда не будет.

> Но что если новая версия очень сильно отличается от старой, придется проделать много работы по переделке большого проекта на новую версию.

Это значит, что фреймворк использовался только для украшения, а бизнес-логика писалась по-старинке, овнокодом.
Мы месяц назад поменяли мажорную версию Симфони, с 2.3 на 3.2. Переделки потребовались, но чисто механические, по замене нескольких устаревших функций.
Достаточно следовать рекомендованным практикам, использовать рекомендованные инструменты и апгрейд не будет настолько болезненным.

Плюс я считаю, что болезненность апгрейда в любом случае преувеличена, и несравнима с переездом с самопала.

> Как обычно поступают команды, когда используется сторонний фреймворк, постоянно обновляют его версию в проекте или остаются на старой версии?

Хотя бы за мажорной версией следовать необходимо.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Сторонний микрофреймворк для инкапсуляции зависимостей.
А логика - только в своём коде!
Ответ написан
@hector
php программист
лучше сторонний fremework. Symphony - сложнее/менее производительный/дороже - но приложения на нем будут легче маштабироваться. Если задачу можно решить в рамках CMF/CMS - используйте ее, т.к. написание своего велосипеда на любом уровне, приведет к издержкам на обслуживание и развитие.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы