Subotinn
@Subotinn

Как правильно одновременно разрабатывать приложение на react и react native?

На данный момент есть веб-приложение, которое переписывается на react. Пишем свой UI kit, есть дизайн и все остальное. Приложение и дальше будет переносится на react и в конечном счете полностью на него перепишется.
Встал вопрос, по поводу создания мобильного приложения, которое будет служить дополнением к текущему web приложению. Некоторые функции будут пересекаться. Скорее всего, мобильное приложение будет использовать API которое использует основное приложения.

Основное приложение, достаточно большое(5 лет разработки). Куча логики как на бэке так и на фронте, куча графиков таблиц и тд. Поэтому и в дальнейшем, react-native приложение будет развиваться, и дополняться новым функционалом. И очень много различного функционала будет пересекаться.

Так вот, опыта с react native у нашей команды нет, и появился ряд вопросов:
1) Нужно ли создавать react native приложение с нуля, или можно использовать уже готовые компоненты из нашего UI кита?
2) Можно и нужно ли как-то компоновать эти два приложения? (например выносить логику компонентов в так называемые, hoc, или что-то на подобии этого) А вьюхи делать разные для двух приложений.
3) Возможно кто-то имеет ссылки на любые материалы(хорошие советы) по данной теме.

P.S.: На данный момент занимаюсь исследованием по тому, как следует разрабатывать приложение, сбором информации, и тд.
  • Вопрос задан
  • 775 просмотров
Решения вопроса 2
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Если приложение переписывается на react, то одновременно держать react-native + react базу поможет react-native-web пакет, но там нет FlatList до сих пор, ждут давно.

Для одинаковых компонентов - все просто, один файл. Если же для какого-то компонента требуется различный код, можно делать два файла xxx.web.js и xxx.ios.js (например), и на стадии сборки в сборку включать только те, что подходят под проверку (для веб собираете или для mobile).

Общие компоненты (uikit - кнопки, надписи, стили и тд) - все можно вынести в отдельный пакет / отдельную директорию. Вы пишите, что у вас уже есть - ок, используйте, если они готовы для этого (но я думаю вряд ли, надо как минимум адаптировать/переписать будет)
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
1. Скорее нет, чем да. React-native не умеет рендерить html. Есть пакеты, которые добавляют такую функциональность, но на самом деле они просто делают так, чтобы рендер не ронял билд - привычной функциональности связанной с html-элементами не будет.

Со стилями тоже есть свои особенности - react-native реализует многое из CSS, но кое-чего привычного в нём нет, а то, что есть, иногда работает не так, как ожидается.

Словом, учитывая повышенные требования к универсальности UI kit, разумнее его воссоздать в react-native.

2. Можно. Нужно ли - решайте самостоятельно. Для начала я бы на вашем месте дублировал логику, делал адекватную архитектуру внутри экосистемы react-native, а когда поймёте как там всё устроено, выносите общую логику в пакеты и переиспользуйте.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы