Похожие презентации:
Admin Ref
1.
Исследование стратегии гибриднойинтеграции React в Django Admin
Проведение технического исследования и создание POC (Proof of Concept)
для реализации стратегии постепенной миграции через внедрение единого
React-компонента в существующие Django-шаблоны.
2.
Контекст и Текущее состояние3.
ПланВ рамках нового фронта создаём новое React-приложение для админки с внутренним
роутингом но без меню и авторизации
Оформляем это в виде внешнего пакета и сохраняем в своём репозитории
Добавляем этот пакет на старом фронте в качестве зависимиости.
Переносим функционал автоскидок в новое приложение и заменяем текущую реализацию
на импортированный компонент
Мигрируем оставшиеся страницы с React такие как "Максимальная скидка" и "ПЗГ"
Разрабатываем стратегию миграции для страниц на шаблонах и постепенно переводим
все оставшиеся страницы админки.
Для приложения на новом фронте добавляем авторизацию и навигацию и открываем его
вместо текущей админки
4.
Новая схема5.
ПлюсыНам не нужно сразу переносить всю админку, а можем делать это поэтапно
У нас не будет двух версий приложения в админке. Новый функционал будет доступен в
рамках старого приложения
Отказываемся от старого фронта, новый код будет находиться в монорепозитории нового
фронта
Возможность отката, так как старую версию страниц можно оставлять доступной какое-то
время после релиза
Более гибкая и быстрая разработка с привычным туллинго после того, как все процессы
будут налажены
6.
МинусыБолее сложный процесс разработки. Нужно оформлять проект как npm-пакет, следить за
версиями и обновлять библиотеку при релизах
Более тяжёлый бандл, так как для нового приложения требуются свои ассеты
7.
РискиЕсть риск, что админка может медленнее грузиться. Нужно грамотно настроить билд и активно
использовать динамический импорт
Пока нет чёткого понимания как выстроить процесс разработки и версионирования
Могут возникнуть конфликты стилей, возможно, придётся пересматривать некоторые подходы, которые
сейчас используются на новом фронте
Возможны несовместимости версий общих библиотек нового и старого фронта, таких как React
В текущей реализации роутинга внутри React-компонентов реализована через HashRouter
/#/<component-internal-routing>
Проект `shared` в монорепе нового фронта содержит UI-элементы, которые не потребуются для нового
приложения админки, но при этом содержит тулинг, который точно будет востребован. Возможно,
придётся выносить компоненты в отдельное приложение ради уменьшения размера бандла.
8.
Готовая UI библиотека как компромиссное решениеПлюсы
Готовое решение
Быстрое прототипирование и масштабирование
Не нужен дизайнер
Минусы
Более тяжёлый бандл
Меньше возможности кастомизации