Реагировать на развертывание файлов на Android

Я новичок в React Native. Я хочу знать, как можно развернуть реагирующую нативную часть или код, такой как файлы javascript и ресурсы, на сервере, а затем использовать его.

В настоящее время он отображается как локальный

Пожалуйста, дайте мне знать, как развернуть его на сервере, также возможно или нет.

Нужно ли обновлять приложение в магазине Play каждый раз, когда я что-то изменяю в реагирующей части моего кода?

что именно делает push-код, и есть ли способ, с помощью которого я могу загрузить свой реагирующий нативный пакет с сервера и динамически обновлять приложение

3 ответа

React-native компилируется до двух родных языков. По сути, у вас есть 2 приложения, не из них веб.

Вы можете иметь удаленные ресурсы изображений на сервере и использовать URL-адрес в исходном коде реакции в сочетании с кешем (чтобы вам не приходилось загружать ресурс каждый раз).

Что касается файлов JavaScript, я бы сказал, нет. Если вы не создадите сервер и не запросите функциональность через вызовы API.

И нет, вам не нужно каждый раз взаимодействовать с игровым магазином, но обычно вы делаете это:)

Я думаю, вам нужно понять, как работает React Native, чтобы понять.

Что на самом деле делает RN, так это выставляет нативный API для вашей базы кода Javascript. В основном приложение RN состоит из 2 вещей:

Как вы можете себе представить, Native - это все, что написано в Swift/ Objective-C/ Java и это та часть, которую вы не можете обновить, не пройдя через магазины приложений.

Теперь интересная вещь - часть JS, помните, мы говорили, что в основном вы используете нативный API с JS. Если вы заметили, когда вы бежите react-native run-ios или же react-native run-android создается экземпляр сервера, который обслуживает ваш эмулятор / физическое устройство.

Теперь, если вы думаете об этом в основном, когда вы открываете приложение, пакет загружается и запускается. Когда вы обновляете свою кодовую базу во время работы приложения на эмуляторе, серверы отправляют через сокет сигнал, чтобы уведомить клиента о наличии обновления. В этот момент клиент загружает пакет и приложение перезагружается.

Теперь, чтобы ответить на ваш вопрос, да, вы можете обслуживать JS Bundle на своем сервере и проверять приложение, когда загружается или возобновляется, если доступна новая версия JS Bundle, если это так, для ее загрузки (обновление OTA). Как вы понимаете, таким образом можно обновлять только часть Javascript, а не нативную часть.

Опять же, есть несколько сервисов, которые уже делают это, как codepush от MS.

Вы можете использовать код-push cli или appcenter cli для публикации своего кода Javascript на облачных серверах (размещенных в Microsoft), а также использовать response-native-code-push для получения обновлений в вашем приложении RN.

Кроме того, вы можете использовать Expo, которая поставляется с собственными беспроводными (OTA) функциями обновления.

Обе вышеперечисленные службы сами управляют своими серверами и не позволяют вам размещать JS-пакет на вашем собственном сервере (хотя для этого есть запрос на добавление функций).

Обратите внимание, что только изменения в кодовой базе Javascript могут быть доставлены OTA. Любые обновления нативного кода (например, Swift/Java) по-прежнему должны доставляться через App Store/Google Play.

Другие вопросы по тегам