Подходы разработки на фреймворке Expo | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 7 марта, печатный экземпляр отправим 11 марта.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №3 (293) январь 2020 г.

Дата публикации: 20.01.2020

Статья просмотрена: 3 раза

Библиографическое описание:

Пайгетов А. В. Подходы разработки на фреймворке Expo // Молодой ученый. — 2020. — №3. — С. 22-25. — URL https://moluch.ru/archive/293/66524/ (дата обращения: 23.02.2020).



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

Фреймворк Expo это платформа для универсальных приложений, основанных на JavaScript-библиотеке React. Данный фреймворк состоит из набора готовых инструментов и сервисов основе React Native и native платформ, которые помогают разрабатывать, создавать, развертывать и быстро выполнять итерации на iOS, Android и веб-приложениях из одной и той же кодовой базы JavaScript/TypeScript.

В данном фреймворке существует два основных подхода к созданию приложений управляемый (managed) и простой (bare) подход.

С помощью управляемого подхода пишутся только инструменты и сервисы JavaScript / TypeScript, а все остальное фреймворк Expo сделает сам.

В простом подходе присутствует полный контроль над каждым моментом своего проекта, и инструменты Expo не будут вмешиваться в работу.

Управляемый подход похож на «Ruby on Rails» и «Create React App» на React. Приложения создаются с помощью управляемого подхода с использованием Expo-клиента на мобильном устройстве и других сервисов таких как: push-уведомлений, службы сборки, а также обновлений по воздуху.

В управляемом подходе Expo пытается облегчить сложность создания мобильных приложений. Разработчики в данном подходе, не используют Xcode или Android Studio, они просто пишут код JavaScript и управляют настройкой таких вещей, как значок приложения и заставка через app.json.

В Expo SDK представлен более полный набор API-интерфейсов, которые дают возможность доступа к таким возможностям устройства, как камера, биометрическая аутентификация, файловая система, тактильные устройства и т. п.

В моменте разработки проекта может произойти момент, когда потребуется полный контроль над собственным кодом в приложении, то у разработчика есть возможность извлечь вспомогательные инструменты (запустить expo eject в своем проекте) expo-cli предоставит доступ ко всем базовым собственным проектам и конфигурации.

В случае использования простого подхода могут произойти не большие неприятности, потому что разработчик имеет полный контроль над всеми инструментами Expo. В данном подходе можно использовать большинство API в Expo SDK, но служба сборки, уведомления, беспроводные обновления и простая настройка с app.json не будут поддерживаться.

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

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

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

Простой подход следует использовать, только когда он действительно нужен из-за ограничений, а в противном случае следует использовать управляемый подход.

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

− пока не все API для iOS и Android доступны;

Фоновое выполнение приложения это возможность запускать код, когда приложение не является предопределенным или устройство находится в спящем или заблокированном режиме. В фреймворке присутствует поддержка фоновой геолокации (включая геозону) и выборку фона, но отсутствует поддержка фоновой работы по воспроизведению звуков с элементами управления операционной системы и отсутствует возможность обработки push-уведомлениий в фоновом режиме.

− SDK не поддерживает все типы выполнения фонового кода;

Размер управляемого приложения Expo на iOS составляет около 20 Мб, а Android — около 15 Мб. Это связано с тем, что управляемый подход включает в себя множество API-интерфейсов независимо от того, используете ли они в проекте или нет. Использование API позволяет передавать обновления по беспроводной сети для использования новых API-интерфейсов. Некоторые из включенных API-интерфейсов связаны с услугами, которые скорее всего не будут использоваться в проекте, например, Facebook Mobile SDK включен для поддержки входа в Facebook и рекламы Facebook, а также Google Mobile SDK по аналогичным причинам. Если есть необходимость максимально уменьшить размер приложения, управляемый подход может оказаться не лучшим выбором.

− собственные библиотеки для интеграции с проприетарными сервисами обычно не включаются в SDK;

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

− единственный поддерживаемый сервис push-уведомлений внутри фреймворка Expo;

В случае, если API Expo Push-уведомлений не подходит для разработки данного проекта, то следует добавить другую службу push-уведомлений, например OneSignal используя простой подход.

− минимальные поддерживаемые версии ОС: Android 5+ и iOS 10+;

Если нужно поддерживать более старые версии, то не следует использовать управляемый подход.

− бесплатные сборки иногда могут быть поставлены в очередь;

В фреймворке Expo есть возможность создать свое приложение для отправки в Apple App Store и Google Play Store, даже не устанавливая Xcode или Android Studio. Это можно сделать, используя бесплатную автономную службу сборки, но иногда она имеет очередь в зависимости от того, сколько других людей собирают установочный файл в это время.

В простом подходе разработчик получает полный доступ к базовым нативным проектам и любому собственному коду. В итоге получается чистый проект с React Native и одним или несколькими пакетами из Expo SDK. В отличии от управляемого подхода в простом подходе тоже присутствуют свои ограничения:

− служба уведомлений работает только в управляемом подходе;

Можно использовать любой другой сервис уведомлений, который вам подходит, но кроме уведомлений Expo.

− сервис сборки работает только в управляемом подходе;

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

− служба обновлений по воздуху работает только в управляемом подходе;

Служба обновлений по воздуху не работает в простом подходе, в случае её надобности следует воспользоваться управляемым подходом.

− конфигурация должна быть выполнена для каждого собственного проекта, а не один раз с app.json

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

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

Таким образом, можно сделать вывод, что фреймворк Expo является хорошим набором инструментов, которые упрощают создание нативных React-приложений. С данным фреймворком начинающие разработчики могут создавать приложения, не испытывая особых проблем с Android Studio и Xcode, а также других инструментов необходимых для разработки данного вида приложений.

Литература:

  1. Сайт Expo [Электронный ресурс]: Expo documentation https://docs.expo.io/versions/v36.0.0/, свободный, — Загл. с экрана.
  2. Сайт Envatotuts+ [Электронный ресурс]: Упрощаем процесс разработки нативных React приложений с помощью Expo Режим доступа: https://code.tutsplus.com/ru/tutorials/easier-react-native-development-with-expo--cms-30546, свободный, — Загл. с экрана.
Основные термины (генерируются автоматически): SDK, управляемый подход, простой подход, API, проект, приложение, инструмент, служба сборки, полный контроль, будущий проект.


Похожие статьи

Разработка модуля формирования документов студенческой...

После подключения системы контроля версий на проекте, можно видеть и управлять локальными изменениями с

Ключевые слова. Ява , OpenOffice SDK, свинг, документация.

Для контроля версий исходного кода и организации автоматических тестов и сборок мы будем...

Управление проектами и программами стратегического...

В настоящее время крайне важно использовать инновационные подходы к управлению развитием экономического субъекта. К числу передовых методов управления относится и стратегическое управление развитием через инструменты проектов и программ.

Современные подходы к разработке мобильных приложений для...

Создание приложения, использующего REST API в наше время стало обыденностью. Однако библиотеки Android не могут похвастаться удобным инструментарием для выполнения такой простой задачи.

Использование программных средств управления...

Необходимость работы с инвестиционно-строительными проектами делает актуальными

Службой Project в продукте Project Server 2013 предоставляются функции управления

На тот момент в банке отсутствовал первичный подход к совместной работе над проектами и...

Управление проектами и программами стратегического...

В настоящее время крайне важно использовать инновационные подходы к управлению развитием экономического субъекта. К числу передовых методов управления относится и стратегическое управление развитием через инструменты проектов и программ.

Сравнение процессов разработки программного обеспечения по...

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

Многоуровневый подход к тестированию мобильных приложений

Проекты.

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

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

Подходы к архитектурному проектированию веб-приложений

Проекты.

В рамках данной статьи рассматриваются три подхода к архитектурному проектированию веб-приложений

Монолитный подход является самой старой моделью проектирования ПО поскольку именно с неё и началась разработка всего программного...

Проектное управление как инструмент реализации стратегии...

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

Понятие, роль и актуальность проектного управления в России

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

Похожие статьи

Разработка модуля формирования документов студенческой...

После подключения системы контроля версий на проекте, можно видеть и управлять локальными изменениями с

Ключевые слова. Ява , OpenOffice SDK, свинг, документация.

Для контроля версий исходного кода и организации автоматических тестов и сборок мы будем...

Управление проектами и программами стратегического...

В настоящее время крайне важно использовать инновационные подходы к управлению развитием экономического субъекта. К числу передовых методов управления относится и стратегическое управление развитием через инструменты проектов и программ.

Современные подходы к разработке мобильных приложений для...

Создание приложения, использующего REST API в наше время стало обыденностью. Однако библиотеки Android не могут похвастаться удобным инструментарием для выполнения такой простой задачи.

Использование программных средств управления...

Необходимость работы с инвестиционно-строительными проектами делает актуальными

Службой Project в продукте Project Server 2013 предоставляются функции управления

На тот момент в банке отсутствовал первичный подход к совместной работе над проектами и...

Управление проектами и программами стратегического...

В настоящее время крайне важно использовать инновационные подходы к управлению развитием экономического субъекта. К числу передовых методов управления относится и стратегическое управление развитием через инструменты проектов и программ.

Сравнение процессов разработки программного обеспечения по...

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

Многоуровневый подход к тестированию мобильных приложений

Проекты.

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

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

Подходы к архитектурному проектированию веб-приложений

Проекты.

В рамках данной статьи рассматриваются три подхода к архитектурному проектированию веб-приложений

Монолитный подход является самой старой моделью проектирования ПО поскольку именно с неё и началась разработка всего программного...

Проектное управление как инструмент реализации стратегии...

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

Понятие, роль и актуальность проектного управления в России

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

Задать вопрос