Планируете ли вы создать приложение, поддерживающее реакцию? Вы, вероятно, получите много вопросов, например: «Следует ли мне использовать шаблон?» Что такое шаблон? Лучше использовать Expo или нет?
Позвольте мне начать с того, что я новичок в этом стеке технологий. Я давно занимаюсь разработкой приложений на Dart и решил развиваться, потому что JavaScript становится все более популярным.
React Native:
React Native (также известный как RN) - это популярная платформа мобильных приложений на основе JavaScript, созданная Facebook , которая позволяет создавать мобильные приложения с рендерингом для iOS и Android. Фреймворк позволяет создавать приложения для различных платформ, используя одну и ту же кодовую базу.
Шаблоны:
Boilerplate - это тип шаблона, который упрощает создание приложения с нуля. Я изучил шаблоны дальше и узнал о некоторых из них. Вы можете взглянуть на некоторые популярные шаблоны здесь и решить, стоит ли их использовать.
Ignite by Infinite Red - самый популярный, у него более 12 тысяч звезд на Github. Давайте углубимся в это. Это передовой шаблон проекта, который включает в себя интерфейс командной строки, генераторы компонентов / моделей и многое другое.
Этот проект с поддержкой Typescript использует MobX для управления состоянием, React-навигацию для маршрутизации и навигации, Apisauce для общение с REST серверами и Jest framework для тестирования.
Если вы полный новичок, я бы посоветовал вам пройти через это.
В основном есть два метода создания приложения, поддерживающего реакцию:
- Экспо
- React-native CLI
Мы пройдем через них обоих по очереди.
Экспо
Expo - это фреймворк, который используется для создания приложений React Native. По сути, это набор инструментов и сервисов, созданных для React Native, которые помогут вам с легкостью приступить к созданию приложений React Native.
Преимущества:
- Настроить проект легко и можно за считанные минуты
- Любой желающий может открыть проект, пока вы над ним работаете
- Поделиться приложением легко (с помощью QR-кода или ссылки), вам не нужно отправлять весь файл .apk или .ipa.
- Для запуска приложения сборка не требуется
- Интегрирует некоторые базовые библиотеки в стандартный проект (Push-уведомления, Asset Manager и т. Д.)
- Вы можете извлечь его в ExpoKit и интегрировать собственный код, продолжая использовать некоторые функции Expo, но не все из них.
- Expo может создавать файлы .apk и .ipa (распространение по магазинам возможно с Expo)
- И самый важный, по крайней мере для меня, вам не обязательно иметь Macbook для разработки приложений для iOS
Недостатки:
- Вы не можете добавлять собственные модули (возможно, для некоторых это изменит правила игры)
- Вы не можете использовать библиотеки, использующие собственный код в Objective-C / Java.
- Стандартное приложение Hello World имеет размер около 25 МБ (из-за встроенных библиотек).
- Если вы хотите использовать FaceDetector, ARKit или Payments, вам нужно извлечь его в ExpoKit.
- Выброс его в ExpoKit имеет компромисс между функциями Expo, например. вы не можете поделиться через QR-код
- При извлечении в ExpoKit вы ограничены версией, поддерживающей реакцию, которая поддерживается ExpoKit, а затем
- Отладка в ExpoKit (с собственными модулями) намного сложнее, поскольку он смешивает два языка и разные библиотеки (официальной поддержки Expo больше нет)
Интерфейс командной строки для React:
Он генерирует для вас простой проект, поддерживающий реакцию, с отдельными собственными проектами для платформ iOS и Android. Вам просто нужно набрать команду «response-native init».
Преимущества:
- Вы можете добавлять собственные модули, написанные на Java / Objective-C (возможно, единственный, но самый сильный)
Недостатки:
- Требуется Android Studio и XCode для запуска проектов
- Вы не можете разрабатывать для iOS, не имея Mac
- Устройство должно быть подключено через USB для использования для тестирования.
- Шрифты нужно импортировать вручную в XCode
- Если вы хотите поделиться приложением, вам нужно отправить весь файл .apk / .ipa
- Не предоставляет JS API из коробки, например Push-уведомления, Asset Manager, их нужно вручную установить и связать, например, с npm
- Правильная настройка рабочего проекта (включая настройку устройства) довольно сложна и может занять время.
Это все, что вам нужно знать, прежде чем переходить на react-native. Я много боролся с этими вещами, поэтому решил поделиться.
Если вам понравилась эта статья, дайте ей оценку :)