Задать вопрос
@belyaevcyrill

Как эффективнее постепенно перевести Ruby-сайт (на шаблонизаторе) в React SPA?

Есть некоторый ruby-сайт, использующий стандартный шаблонизатор (slim) для вывода контента. Сайт представляет собой крупное приложение, с авторизацией, ролями и многими подсистемами. Во многих страницах большое количество jQuery-кода.

Возникла необходимость постепенного перевода сайта на React SPA с серверным рендерингом. Причем требуется оставить бэк прежним (Ruby on Rails), лишь дополнив его механизмами пререндеринга (ssr).

P.S.: Постепенно - это значит сделать на Реакте сначала подсистему А, потом подсистему Б, и т.д. Допустим, сначала авторизацию, потом интерфейс для работы с файлами, потом блог и т.д. Между каждым "переходом" будет определенное время тестирования пользователями, допустим в месяц.

Посоветуйте, пожалуйста, наиболее эффективные подходы для этой задачи? Кто сталкивался и с чего вы начинали переход? Что следует сделать в первую очередь, а что можно оставить на потом? С чего начать?
  • Вопрос задан
  • 140 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
@dimuska139
Backend developer
В идеале сначала написать приемочные тексты для текущих страниц сайта, чтобы после переезда на SPA с SSR, быть уверенным, что ничего не пропало, не отвалилось и работает так, как работало.
После этого делаете нужные API прямо в своем Ruby-бэкенде. Параллельно с этим создаете новый репозиторий для фронтенда и, собственно, его делаете. Тут вам поможет сам React и такая штука для него, как NextJS.
Когда все сделаете, запускаете приемочные тесты и убеждаетесь, что вся функциональность работает, как и раньше.
Ответ написан
Комментировать
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Переезд с MPA на SPA, особенно когда у вас несколько систем это не маленькая архитектурная задача и надо понимать конкретно что у вас есть, в деталях, какие сроки, сколько рук и все в таком духе. Тут нет Best Practices
Ответ написан
profesor08
@profesor08
Все, что живет отдельно, можно по очереди перевести на реакт. В противном случае получится каша из реакта, jquery и чего-то там еще, что там живет. Я бы не стал так мораться, это все плохо пахнет, гарантировано будут конфликты, их надо будет решать, потеть над ними, вместо того чтоб заниматься полезными вещами.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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