ReactNative - Почему приложение React Native должно подключаться к локальному хосту?

В первых нескольких главах я читал книгу о React Native, которая создает простое приложение React Native для IOS. При компиляции и запуске проекта в XCode упаковщик запускается в фоновом режиме, и я также вижу, как мое приложение пытается подключиться к локальному хосту.

Насколько я понимаю, React Native преобразует элементы JSX в специфичные для платформы представления. Итак, мой вопрос: почему приложение должно подключаться к серверу и какова цель работы упаковщика в фоновом режиме?

Кроме того, чем запуск приложения на симуляторе Xcode отличается от его развертывания в магазине приложений?

Я пытался искать ответы в Интернете, но никто не обращался к ним. Кажется, все считают само собой разумеющимся, что все это очевидно.

2 ответа

Решение

После поиска ответа я наткнулся на следующее руководство от Facebook, которое отвечает на другой вопрос, но также косвенно обращается к моему.

Очевидно, что localhost - это сервер разработки, используемый для связи вашего кода javascript с приложением, которое вы используете, если тестируете на физическом устройстве или на симуляторе. Поэтому после прочтения возникает вопрос: почему бы не связать этот код javascript со скомпилированными файлами IOS? Что ж, лучше всего держать их отдельно, потому что это позволяет вам просто изменить свой код javascript со своего компьютера и автоматически синхронизировать его с приложением IOS.

Теперь, когда дело доходит до развертывания в магазине приложений, вам нужно будет связать код javascript и удалить часть реализации, где он подключается к локальному узлу, который, опять же, используется для целей отладки.

Вы ответили на свой вопрос, кажется! В режиме разработки пакет JavaScript подается с сервера-сборщика реагирующих программ на вашем компьютере.

При создании релиза для App Store и Google Play JavaScript минимизируется и включается в файл приложения (.ipa/.app для iOS, .apk для Android).

Запуск приложения в режиме релиза возможен из Xcode. В зависимости от того, как настроен ваш проект, режим выпуска может быть другой целью, другой схемой в пределах одной цели или конфигурацией сборки в схеме цели. Для получения дополнительной информации о целях / схемах iOS см.: Xcode: Что такое цель и схема на простом языке?

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