Более эффективно обновлять или перестраивать приложение Rails 2.3.X?

#ruby-on-rails #ruby-on-rails-2

#ruby-on-rails #ruby-on-rails-2

Вопрос:

У меня есть приложение Rails 2.3.X. Я планирую нанять разработчика, чтобы либо обновить сайт до текущих стандартов Rails, либо перестроить сайт. В общем, есть ли способ оценить, выгоднее ли обновлять или перестраивать? Я предпочитаю обновлять.

Комментарии:

1. Наиболее экономичным решением было бы ничего не делать. Каково экономическое обоснование необходимости обновления / сборки?

2. Я неопытен в Rails, но, насколько я понимаю, приложение 2.3.X не получит пользы от обновлений безопасности и обновлений для gems. Кроме того, из-за различий в кодировании для Rails 2 и Rails 4 отказ от обновления может означать, что у контрактных разработчиков, которых я нанимаю, возникнут проблемы с программированием новых функций для веб-приложения, поскольку они используют стандарты кодирования Rails 4. Но, послушайте, если это совершенно неправильно, и если приложение может быть безопасным и легко добавлено в Rails 2, это привело бы меня в восторг! Я просто основываю это на мнении другой пары разработчиков и пытаюсь понять затраты.

3. Я бы сосредоточился на бизнес-требованиях. О чем просят ваши пользователи? Что им нужно? За какие функции они будут платить? Сначала ответьте на эти вопросы. После ответа назначьте каждой функции приоритет, основанный на простоте реализации и стоимости реализации. Требуются ли функции в верхней части вашего списка для обновления rails? Если нет, то не тратьте деньги. Это действительно пользователи, которые решают это. HTH

Ответ №1:

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

Мы попытались обновить приложение из более чем 100 000 строк с Rails 2 до Rails4. Это, безусловно, большая работа. Создание с нуля — серьезная альтернатива, тем более, что практически невозможно выделить время для проекта обновления. Мы перестраиваем приложение. Кроме того, Rails 2.3 более 5 лет. Я могу себе представить, что ваш рынок, возможно, изменился, и в любом случае он нуждается в некоторой доработке, потому что он устарел. Последнее, о чем я хочу упомянуть, — это тесты. Если ваше приложение имеет значительный объем тестирования, обновление может быть проще.

Ответ №2:

Я хотел бы представить вам третий вариант.

У нас была похожая ситуация. В большом приложении Rails 2 мы столкнулись с проблемами безопасности, и обновление ОС было заблокировано из-за старых зависимостей.

Вместо обновления нашего приложения мы перешли на Rails LTS. https://railslts.com /

Это сработало довольно хорошо.