Я закончил с мнениями, я провел собственное исследование!

В сообществе, ориентированном на реагирование, многие разработчики не имеют ясного представления о выборе между React Native CLI или Expo CLI. Как правило, мы склонны принимать решения, основываясь на мнениях наших коллег-разработчиков, а не на их проверке.

Поэтому я исследовал, проанализировал и собрал ценную информацию, которой я делюсь с вами сегодня, о практическом сравнении двух фреймворков!

React Native CLI

React Native CLI - это встроенная функция, которая помогает вам взять под контроль управление проектом локально. Вы можете создавать и запускать свои приложения. Вы можете создать проект, просто используя эту команду.

npx react-native init <ProjectName>

Чтобы запустить проект, вы можете выполнить следующие команды.

// run on all platforms
npx react-native start
// run on android
npx react-native run-android
// run on iod
npx react-native run-ios

Льготы

Все мы знаем, что приложения для Android разрабатываются с использованием Java или Kotlin, а приложения для IOS разрабатываются с использованием Objective-C. С помощью React Native CLI вы можете добавлять собственные модули, написанные на Java / Objective-C, что, по моему мнению, является самой сильной функцией.

После создания проекта вы можете получить доступ и управлять сборками и настраивать их соответствующим образом в соответствии с вашими требованиями. Таким образом, вы можете полностью контролировать свое приложение на платформах Android и IOS.

Ограничения

Самый очевидный недостаток поражает пользователей Windows. Для создания кроссплатформенных мобильных приложений с использованием React Native CLI вам потребуются эмуляторы Andriod и IOS. Это означает, что вам необходимо иметь Andriod Studio и XCode для запуска ваших проектов, которые доступны исключительно на Mac. .

Однако дело не в том, что вы не можете разрабатывать в Windows. В Windows вы можете разрабатывать приложения для реагирования и запускать их на эмуляторе Andriod Studio. Но для IOS есть обходные пути.

Запуск проекта с помощью React Native CLI может занять много времени. Более того, это очень деликатный процесс, на котором нужно сосредоточить все взоры и разум.

Это в основном из-за сложных конфигураций устройства. Вам необходимо установить переменные среды и убедиться, что у вас есть необходимые SDK для работы вашего приложения. Подробнее о настройке среды см. Здесь.

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

Слово React Native говорит само за себя: он создает приложения для работы с нативными элементами. Однако при использовании разных шрифтов вам необходимо вручную импортировать их в XCode. Есть некоторые шрифты, которых нет ни на одном, ни на другом.

Поделиться приложением может быть проблематично. Это связано с тем, что вам нужно создать весь файл APK или IPA. Итак, каждый раз вам нужно отдавать файл APK или IPA.

Экспо CLI

Expo CLI построен на основе React Native, и это самый быстрый способ настроить ваш проект React Native в увеличенном масштабе! Вы просто создаете проект и начинаете кодировать. Вы можете установить Expo CLI глобально через npm:

// install expo-cli globally
npm install -g expo-cli

Создать и запустить приложение React Native с Expo так же просто:

// create a project
expo init <Project Name>
cd <Project Name>
npm start # you can also use: expo start

При написании кода с Expo вы все еще пишете код React Native. Expo состоит из двух частей.

  • Expo CLI - интерфейс командной строки разработчика для создания, запуска, публикации и т. Д. Вашего приложения.
  • Expo Client App - мобильное приложение, доступное на Andriod и IOS для визуального запуска приложения на реальном устройстве.

Льготы:

С помощью Expo CLI вы можете легко настроить свой проект React. Ваше приложение будет готово к работе в течение минут!

Вам не нужен эмулятор или Mac для запуска приложений React Native с Expo. Вы можете просто загрузить клиентское приложение Expo для Andriod и IOS, а затем запустить проект на своем телефоне.

После запуска приложения с помощью команды expo start или npm start пользовательский интерфейс DevTools в браузере откроется с QR-кодом. Таким образом, вы можете поделиться этим QR-кодом и опубликовать свое приложение вживую на протяжении всего процесса разработки. Таким образом, мы можем избежать использования файлов APK или IPA.

Но это не значит, что вы не можете создавать файлы APK или IPA. Expo предлагает создавать файлы APK и IPA для распространения в магазинах (Apple Store и Play Store).

В отличие от необходимости создания приложений Andriod и IOS перед их запуском, с Expo нет необходимости создавать перед запуском приложения.

Expo интегрирует свой собственный набор базовых библиотек для стандартного проекта: push-уведомления, менеджеры активов и т. Д. Для получения дополнительной информации о библиотеках вы можете обратиться к официальной документации. .

Предположим, вы передумали, вы можете выбросить его в ExpoKit. Это поможет вам продолжить работу с некоторыми функциями Expo. Однако не все функции можно использовать.

Ограничения:

У Expo есть некоторые ограничения, поскольку вы не можете добавлять собственные модули. В отличие от React React Native CLI, вы не можете использовать библиотеки собственного кода, которые используют Objective-C / Java.

Я не думаю, что это имеет большое значение, но базовое приложение Hello World занимает примерно 25 МБ, поскольку оно построено с использованием интегрированных библиотек. Это может быть быстро, но занимает немного места.

Как я уже упоминал выше, когда вы извлекаете свое приложение с помощью ExpoKit, вы ограничиваете свое приложение от использования всех функций expo. Главное - это невозможность поделиться своим приложением с помощью QR-кода.

Интеграция Детектора лиц, ARKit или Payments требует, чтобы вы выбросили его в ExpoKit. Таким образом, интегрируя одни функции, вы теряете другие. Всегда есть компромисс между функциями.

Вердикт React Native

React Native рекомендует использовать React Native CLI, если вы уже знакомы с разработкой мобильных приложений. Однако, если вы новичок в разработке мобильных приложений и хотите быстро настроить проект, рекомендуется Expo CLI.

Заключение

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

Я бы начал с понимания будущего и масштабируемости приложения. Однако не стесняйтесь исследовать другие аспекты, помимо масштабируемости.

Надеюсь, эта история прояснила для вас тучи! Обмен знаниями - единственный способ получить знания. Не стесняйтесь добавлять и вносить свой вклад через комментарии для тех, кто может извлечь выгоду из этой истории.

Повеселись! Наслаждайтесь кодированием!