У меня есть веб-приложение, использующее компоненты React / React-DOM и Semantic UI React . Теперь мне нужно создать кроссплатформенное мобильное приложение, которое бы разделяло функциональность с существующим веб-приложением. Итак, я ищу фреймворк «напиши один раз, запусти куда угодно», чтобы предотвратить создание нескольких пользовательских интерфейсов.
Требования к структуре:
- Фреймворк должен иметь возможность использовать библиотеку Semantic UI React, правила CSS и другие существующие компоненты React, ориентированные на HTML DOM.
- Фреймворк должен позволять мне создавать компоненты React, предназначенные для браузеров, платформ iOS и Android.
Лучшее решение, которое я нашел, это использовать Apache Cordova и подход гибридного мобильного приложения. Это отвечает обоим моим требованиям, но все, что я видел в Интернете, похоже, предлагает отказаться от Cordova (и гибридных приложений в целом) в пользу сред, которые могут генерировать нативные элементы пользовательского интерфейса. Я готов согласиться на снижение производительности, выбрав Cordova, но я боюсь, что он не получит достаточной поддержки или поддержки в будущем.
Другие опции
- React Native не предназначен для браузеров, поэтому не соответствует требованию 2.
- React Native для Web не будет поддерживать существующие компоненты реакции или стили CSS.
- ReactXP аналогично не поддерживает стили CSS
Я ошибаюсь, считая, что Cordova и гибридные приложения устарели в 2018 году?
Должен ли я прикусить пулю и реализовать 2 интерфейса пользователя (один для мобильного и один для веб-сайтов) с общим кодом бизнес-логики?
Кто-нибудь еще решил подобную проблему? Если да, то какие рамки вы выбрали?