У вас отключен JavaScript
Для пользования сайтом, необходимо, чтобы JavaScript был включен. Посмотреть как включить, выберите свой браузер:

Разработка приложений на React Native: универсальный солдат

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

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

 

Перспективы React Native

Небольшой экскурс в историю:

  • React Native (RN) появился как параллельный проект в процессе работы Facebook над React.js;
  • официальный выпуск React Native состоялся в мае 2015г.;
  • изначально предусматривалась только поддержка iOS, поддержка Android была добавлена в сентябре 2015г.

На текущий момент (то есть по истечении 3-х лет) React Native занимает 13-ое место по количеству звезд на GitHub.

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

react native devlopment

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

Результаты опроса Stack Overflow среди разработчиков Developer Survey Results 2018, в котором в этом году приняли участие 100 000 разработчиков, показывают, что Java Script уже шестой год подряд назван наиболее часто используемым языком программирования, а React занимает вторую позицию среди самых любимых фреймворков, библиотек и инструментов разработчиков и лидирует в категории инструментов, с которыми разработчики хотят работать.

develop a mobile app

По данным jobsQuery React Native является самым хорошо оплачиваемым фреймворком для создания гибридных приложений со средней годовой заработной платой 112 006 долларов США (сравните с 100 999  долларами для Cordova, самого популярного фреймворка для гибридных приложений на данный момент).

Сообщество, образовавшееся вокруг фреймворка, отличается активностью, что подтверждается графиком событий на 2018 год: Chain React 2018: конференция по React Native с 11 по 13 июля в Портленде, Орегон; React Native EU 2018 с 5 по 6 сентября в Вроцлаве, Польша; семинары в Токио, Окленде, Сиднее и т.д.

Все это означает, что React Native развивается и движется в направлении перспективного будущего. Фреймворк пришелся ко двору, и разработчики учатся друг у друга, чтобы внести свой вклад в его развитие. Facebook, Instagram, Bloomberg, Tesla, Skype, Uber: названия компаний, которые используют React Native, говорят сами за себя.

Любой инструмент живет, пока его используют: React Native – это именно тот случай. Несомненно, в ближайшие годы, по мере того как фреймворк будет взрослеть, будут появляться новые интересные приложения. Наша команда предпочитает участвовать в процессе, а не смотреть на происходящее со стороны.

react native framework

42% из всех кроссплатформенных приложений, разработанных компанией Umbrella IT, созданы с использованием React Native.

 

Почему стоит выбрать React Native?

Написание приложения на React Native сродни работе на React + Redux и отличается от нативного подхода наличием большого количества вариаций, нюансов и версий.

Фреймворк унаследовал некоторые минусы языка JS, поэтому в работе рекомендуется использовать такие инструменты как Flow, TypeScript для строгой типизации. Веб-разработчик чувствует себя в этих условиях как рыба в воде. Чего не скажешь о нативном разработчике: он привык к четко определенным и зафиксированным представлениям и понятиям нативного подхода, React Native только усложнит ему работу.

Поэтому, один веб-разработчик может написать и веб, и мобильное приложение под две платформы на React Native. А для создания традиционных нативных приложений для iOS и Android пришлось бы искать двух нативных разработчиков. Экономия налицо.

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

react native development

 

Когда стоит выбирать React Native?

Несмотря на все, о чем говорилось выше, экономить нужно грамотно и там, где это целесообразно. Есть ситуации, в которых React Native, несомненно, хорош. Но есть и случаи, когда нативная разработка незаменима.

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

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

У нас есть успешный опыт использования React Native в создании сервисов типа Uber, которые отличают определенная структура и алгоритм взаимодействия пользователей приложения. Фреймворк значительно упрощает процесс создания нативных элементов управления, сокращая тем самым сроки разработки.

Работу с React Native можно организовать двумя способами:

  • код пишется на чистом JS с использованием Expo

Не используется ни Xcode, ни Android Studio. В этом случае прослойка в виде Expo не настолько гибкая, как нативный код, и возможности настройки будут ниже. Такой подход эффективен, например, если речь идет о работе со сложной графикой.

  • используются нативные модули для iOS и Android

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

В одном из кроссплатформенных проектов Umbrella IT основная часть приложения была написана на React Native. Но так как ключевая функция приложения заключалась в информировании о важных событиях пользователей, оказавшихся в определенной зоне, требовался точный нативный GPS трекинг, и для этого в процессе разработки использовались нативные модули под каждую платформу.

Использование нативного подхода рекомендуется, если в коде будущего приложения предполагается большое количество уникального кода для каждой отдельной платформы. Например, когда основные функции приложения базируются на нативных фреймворках или предусмотрены сложные виджеты, приложения для умных часов или использование SiriKit или Spotlight (для iOS).

Мы уже рассказывали о разработке AR приложений для iOS: приложения с элементами дополненной реальности приобретают все большую популярность среди наших клиентов и используются в самых разных сферах (от приложений, которые позволяют “примерить” новую мебель для вашей комнаты, до карт с виртуальными подсказками и указателями, следуя которым, вы точно не потеряетесь). Для разработки таких iOS приложений  используется ARKit, а для Android приложений – ARCore, то есть создаются два нативных приложения.

По сравнению с нативной разработкой RN проигрывает в вопросах тестирования и отладки программы (поиска и устранения багов).

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

В ближайшее время мы планируем более подробно рассказать о тестировании вообще и о том, как проверяются приложения в Umbrella IT. Не упустите полезную информацию – подпишитесь на наш блог!

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

Сомневаетесь в выборе? Спросите у нас прямо сейчас!

Если говорить о результатах использования React Native, то согласно AppBrain, приложения, написанные на этом фреймворке, составляют 0,58% от общей доли рынка приложений Android, но при этом их доля рынка в топовых приложениях составляет 4,20%. И этот показатель значительно выше, чем, например, у Ionic и PhoneGap.

react native for mobile app


Ещё

  • Umbrella IT вошла в Топ веб и мобильных разработчиков
    Umbrella IT вошла в Топ веб и мобильных разработчиков
    Скейтбордисты и банджи-джамперы любят риск. Будоражащее кровь чувство опасности – именно то, что заставляет их сердца биться быстрее. Но когда дело касается представления своего бизнеса в интернете – зачем рисковать? Umbrella IT – надежный партнер. Мы были первым официальным партнером Symfony в России. Наш опыт и экспертизу давно ценят наши клиенты, а теперь – и …
  • Создаем приложение с механикой Uber: руководство по разработке проекта на миллион долларов
    Создаем приложение с механикой Uber: руководство по разработке проекта на миллион долларов
    Uber стал первым, кто применил бизнес-модель совместного потребления и экономику по требованию и взял на абордаж целый мир. Дестабилизация традиционного рынка такси не мешает Uber позиционировать себя, прежде всего, как технологическую, а не транспортную компанию. И это вполне оправданно – образцовый сервис и эффективные технические решения – именно то, что привело компанию к оглушительному успеху. …
  • Как увеличить вовлеченность в мобильных приложениях: 6 полезных советов
    Как увеличить вовлеченность в мобильных приложениях: 6 полезных советов
    Что заставит пользователей возвращаться в ваше приложение снова и снова? Как запустить работу приложения на полную мощность и сделать его незаменимым для всех и каждого? Десяток, а может и два десятка установленных на смартфон приложений, но пользуетесь в реальности всего несколькими из них? Совсем не хочется, чтобы ваше приложение попало в список “однажды открою, вдруг …