Публикация приложения для продакшена React Native

Я разрабатываю приложение с использованием React Native (отдельно от expo), но я не понимаю некоторых вещей, когда дело доходит до публикации приложения для производства.

Из того, что я понимаю, мой собственный код, который, например, живет внутри .apk (при создании из студии Android), и код javascript, который работает где-то в облаке, взаимодействуют друг с другом, поэтому приложение работает правильно, поэтому в основном у вас есть две вещи, которые нужно заботиться.

Когда я использую команду выставка публикации, я вижу, что что-то где-то загружается (мой код javascript вместе с активами), вероятно, в облачную службу Amazon, я не понимаю идеи, стоящей за этим, что, если однажды эти ссылки Amazon недоступны, что случится с моим приложением? он перестанет работать?

Я был бы очень признателен, если бы кто-нибудь мог объяснить, как эта вещь действительно работает, возможно ли, что я не полагаюсь на те bundleUrl, которые я вижу в манифесте после публикации приложения, я имею в виду, могу ли я запустить их на моем сервере, чтобы у меня контроль над ним, если да, то сколько работы это поднимет?

И что, если однажды Expo будет недоступна, поэтому служба отключена, меня это интересует.

1
0
110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете подтвердить здесь: https://facebook.github.io/react-native/docs/signed-apk-android.html#content, что ваш код Javascript действительно находится в вашем файле apk.

Значит ли это, что где-то в облаке есть javascript, который обслуживает мой apk? Если да, то есть ли у вас идеи, что у нас может быть этот хостинг javascript на нашем сервере?

Mizlul 22.05.2018 12:39

Я не могу подтвердить это, так как я не разработчик React Native. Но я думаю, вы все ошиблись. Если я правильно понял ваш вопрос, ваш код Javascript, который вы написали в своем приложении React Native, хранится в apk. Javascript - это родной язык как для Android, так и для iOS. Я не могу подтвердить для UWP.

Ryukote 22.05.2018 12:43

эту часть я хочу знать наверняка, если javascript хранится в .apk, если да, то почему я должен публиковать с помощью comand expo publish каждый раз, когда я вношу новые изменения в javascript? Я имею в виду, что я не могу пересобрать приложение и опубликовать новый apk?

Mizlul 22.05.2018 12:47

React Native - это не приложение для просмотра веб-страниц, поэтому оно недоступно по URL / ссылке. Насколько я знаю, Expo - это только онлайн-конструктор apk для React Native. Это фреймворк для React Native, который предоставляет вам их материалы, которые вы можете использовать в проектах React Native. Как я уже сказал, я не разработчик React Native, поэтому я не знаю, есть ли у них фактические расширения для какой-либо IDE, поэтому вам не нужно создавать apk онлайн. Можете ли вы объяснить, почему вы вообще выбрали React Native? Это странный выбор для разработки мобильного приложения, поскольку он имеет множество ограничений.

Ryukote 22.05.2018 12:59

изначально я выбрал bc, я должен написать один раз и запустить несколько платформ, основная причина. также вы можете встроить собственный код, если хотите, в отдельном приложении ... но я не могу понять ту часть, где находится пакет javascript, когда я публикую с использованием expo publish. Я вижу какой-то URL-адрес Amazon, поэтому в основном похоже, что мой собственный код живет внутри .apk, а код javascript - в сервисе Amazon, который похож на две его части и делает его ненадежным с моей точки зрения!

Mizlul 22.05.2018 13:03

Я считаю, что это всего лишь ссылка на сборку Expo. Продолжайте делать это, если вам это интересно, но выбор React Native может быть плохим в будущем, если вам нужно будет сделать что-то, что не покрывается этим. Есть лучшие варианты, такие как Java (даже если Java не поддерживается в iOS) или Xamarin Native. Xamarin Native намного стабильнее и мощнее. Xamarin также поддерживает использование собственных материалов из Java.

Ryukote 22.05.2018 13:10

я здесь не для того, чтобы сравнивать разные платформы, но React Native detached, вы можете смешивать с нативным кодом, чтобы вы могли в основном достичь всего, что хотите, и совсем не чувствовать себя ограниченным! для тех, кто знает, что javascript может писать собственные приложения, разве не круто? Вы используете javascript для вызова собственных функций каждой платформы!

Mizlul 22.05.2018 13:35

Я знаю. Извините, если я немного не по теме, но я надеюсь, что дал вам подсказку о Expo.

Ryukote 22.05.2018 13:37

но вы не совсем уверены в том, что говорите, так что в данном случае это не очень помогает, так как вам нужно дать какое-то объяснение по этому поводу, чтобы получить правильный ответ!

Mizlul 22.05.2018 13:40

Я говорю на основе того, что говорится в официальной документации (как React Native, так и Expo).

Ryukote 22.05.2018 13:40

Итак, вы говорите, что код Javascript, который вы написали в своем приложении React Native, хранится в apk, вы можете показать мне эту часть в документации?

Mizlul 22.05.2018 13:43

Да, я это говорю. Вы можете подтвердить это здесь: facebook.github.io/react-native/docs/…, где говорится, что Javascript находится внутри apk.

Ryukote 22.05.2018 13:48

Думаю, это правильно, как я это упустил! спасибо, теперь я могу сказать, что это безопасно :) также вы можете структурировать свой ответ, и я могу его принять!

Mizlul 22.05.2018 14:04

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

Mizlul 22.05.2018 14:06

Теперь вы поняли :) Рад, что смог вам чем-то помочь. Я структурирую свой ответ.

Ryukote 22.05.2018 14:08

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