БЫСТРОЕ ПРИМЕЧАНИЕ. Мой главный друг Хамон Холмгрен написал версию этого поста 2020 года! Проверьте это тоже! Https://shift.infinite.red/react-native-faq-2020-c2374220c944

Привет, Игрок 1! Я вижу, что вы жаждете земли обетованной React Native и всех связанных с ней кроссплатформенных обещаний. Ваши зрачки расширяются по мере того, как вы исследуете истории успеха и простоту использования JavaScript на мобильных устройствах, но все же вы сомневаетесь. Это понятно, потому что вы уже давали это обещание раньше. Вопросы постоянно витают у вас на периферии и мешают вашему идеальному видению продукта. «Могу ли я полагаться на эту технологию?» ты спрашиваешь. «Сможет ли моя команда отправить товар?» вы спрашиваете. «Как это может быть« родным »?» вы умоляете.

Не бойся, Игрок 1! Вы путешествуете не в одиночестве. Мудрость Древних… тех, кто шел по этому пути сотни и сотни… дней… будет направлять вас.

Выбери свои затруднения!

  • Деловые вопросы
  • Технические вопросы

Если у вас есть вопрос, на который здесь нет ответа, добавьте его в комментарии, и мы обновим сообщение!

Реагируйте на собственные бизнес-вопросы

Эти вопросы ориентированы на тех, которые могут задать небольшие владельцы, менеджеры проектов и корпорации перед тем, как попробовать React Native.

  • React Native экономит деньги?
  • Сколько повторного использования кода я получу с React Native?
  • А как насчет альтернатив React Native, таких как Flutter?
  • Какой продукт / компания подходит для React Native?

В: Экономит ли React Native деньги?

Ответ. Как компания, которая раньше выпускала одно приложение для iOS и одно для Android, мы слишком хорошо знали, как мало кода используется повторно. Если вы хотите выпускать продукцию для iOS И Android, ответ - решительное да. Если вы планируете выпустить приложение только для одной платформы, то ответ зависит от ваших сотрудников. Они уже обучены на родном? Редкое исключение, что React Native будет стоить дороже, но я бы солгал, если бы сказал, что это полная панацея. Свяжитесь со мной, если вы хотите получить этот ответ для вашей конкретной компании!

В: Сколько повторного использования кода имеет React-Native?

Ответ: Когда мы начинали, было от 75 до 80% повторного использования, а недавно это число увеличилось до около 90% повторного использования кода! Удар возникает из-за все большего количества сторонних библиотек iOS / Android, в которых есть решения для крайних случаев. Это преимущество проекта, управляемого сообществом. Что интересно, мы наблюдаем все больше и больше возможностей повторного использования React для Интернета и React Native. С предлагаемыми решениями, такими как React Native Web и React Native DOM, разрыв продолжает сокращаться.

В: А как насчет альтернатив React Native, таких как Flutter?

Ответ. Многие языки обещают кроссплатформенные возможности. Мы проверили довольно много из них, и хотя они «технически» соответствуют требованиям кросс-платформенности, обычно это скорее демонстрация, чем надежное бизнес-решение. React Native - первая представленная среда, и даже тогда потребовалось множество версий, чтобы стать оптимальным решением. Благодаря открытому исходному коду и поддержке сообщества это мощное и безопасное решение.

Flutter кажется многообещающим, но он живет в тени прихоти Google и требует 100% принятия Dart и методов Google. Нет никакой гарантии, что, если Google откажется от Flutter (как они делают многие вещи), приложение сможет продолжить работу.

В: Какой продукт / компания лучше всего подходит для React Native?

Ответ. Если у вас есть веб-команда, знающая JavaScript, и вы хотите создать новое приложение, вам подойдет React Native. Если у вас есть веб-команда И небольшая мобильная команда, готовая создать новое приложение, вы подойдете еще лучше! Native dev, смешанный с React Native, - это чистое золото.

Если вы когда-нибудь застрянете, мы в Infinite.red - одна из многих компаний, которые предоставляют консультации и командные тренинги.

Настоящая проблема заключается в том, что вы добавляете React Native в существующее приложение (а не переписываете) И если ваша мобильная команда НЕ хочет работать с вашей веб-командой. В таких случаях вам действительно стоит рассмотреть альтернативу.

Реагируйте на технические вопросы, связанные с родным языком

Хотите начать изучать React Native? У вас могут возникнуть следующие вопросы:

  • Насколько «JavaScript» на самом деле является React Native?
  • Что будет сложного в React Native?
  • Могу ли я разрабатывать приложения для iOS из Windows или Linux?

В: Насколько «JavaScript» на самом деле является React Native?

Ответ: Больше JavaScript, чем JavaScript! Поскольку все работает через Babel, я обычно могу получить доступ к предлагаемым функциям JavaScript, как только они станут популярными. React Native API настолько хорошо обертывает нативный, что, если вы знаете React, вы должны быть готовы написать React Native, потребовав лишь небольшой кривой обучения.

Несмотря на все достоинства JavaScript и все подводные камни, код, который вы пишете, является очень JavaScript.

В: Что будет сложного в React Native?

Ответ. Одна из скрытых ловушек - это обычно подготовка вашей машины к запуску React Native (а не версии «создать приложение для реагирования»). К счастью, у нас есть сообщение в блоге Фрэнка фон Ховена, которое может помочь вам получить все необходимое (оно будет выпущено на следующей неделе, ссылка будет здесь!), А также полезные документы. Просто выделите время, чтобы настроить все на 100%.

Кроме того, может быть сложно обновить существующий проект с одной версии React Native до другой. Поскольку React Native обертывает API-интерфейсы, выполняет итерацию и в целом улучшает, это означает, что по пути что-то ломается. Вы никогда не можете сказать, какое небольшое обновление React Native раскачивает лодку. Опять же, отложите много времени на обновления версий.

В: Могу ли я разрабатывать приложения для iOS из Windows или Linux?

Ответ. В какой-то момент вы заперты в Mac, если хотите создать приложение для iOS. Однако примите во внимание эти несколько примечаний:

  1. Написание Android-приложения на React Native, вероятно, будет исключительно хорошо перенесено на iOS. Вероятно, вы можете переключиться на Mac в течение последних 10% вашего приложения / тестирования.
  2. Есть интересный способ немного поработать в Linux, посмотрите это видео:

Резюме

Без гида легко заблудиться. Мы уже какое-то время занимаемся React Native и не стесняемся говорить, что нам нравится, а что нет. Ясно одно: мы счастливы в этом сообществе. Не стесняйтесь комментировать или присоединяться к нашему сообществу Slack, если у вас есть более подробные вопросы. Я с удовольствием отвечу на все ваши часто задаваемые вопросы! 👍

Кредиты:

Есть минутка? Посмотрите еще несколько: