{"id":14271,"url":"\/distributions\/14271\/click?bit=1&hash=51917511656265921c5b13ff3eb9d4e048e0aaeb67fc3977400bb43652cdbd32","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430\u0442\u0438\u0432\u043e\u043a \u0438 \u0441\u043f\u0435\u0446\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 vc.ru \u2014 \u043d\u0430\u0439\u0434\u0438\u0441\u044c!","buttonText":"","imageUuid":""}

Преимущества разработки на React Native для заказчика

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

React Native позволяет разрабатывать сразу для нескольких платформ​ Иллюстрация из открытых источников

В большинстве случаев мобильные приложения разрабатываются для платформ iOS и Android, причем для каждой из них есть свой нативный (предусмотренный создателем) программный интерфейс. Однако сегодня все чаще встречаются предложения разработки на React Native. Спрос на работу с этим фреймворком мы видим и среди наших клиентов, 90% из которых делают выбор именно в пользу разработки на React Native.

Что вообще такое React Native?

React Native — это open source фреймворк, который был представлен Facebook в 2015 году. То есть ему еще всего 4 года, и поэтому в сети можно найти немало критики в адрес разработки на RN. Но на сегодняшний день уже можно говорить о зрелости самого фреймворка и билдеров, которые делают возможной кроссплатформенную разработку мобильных приложений.

Как и в уже привычном для всех React, в React Native пользовательский интерфейс создается декларативно, а на JS программируется дерево элементов пользовательского интерфейса. Разница заключается лишь в том, что ReactJS создает элементы UI в браузере, а React Native позволяет преобразовать стандартные элементы VDOM в нативные визуальные элементы для каждой отдельной взятой мобильной платформы. Кстати, сегодня ходят разговоры о расширении React Native за пределы поддержки одних только Android и iOS. Уже сейчас существует возможность разработки под Windows. А в скором времени, вероятно, фреймворк будет поддерживать также macOS и Apple tvOS.

В чем заключаются плюсы React Native?

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

​React Native помогает создавать гибридные приложения Изображение из открытых источников​

Срок подготовки прототипа приложения оказывается намного ниже. Разработка на React Native происходит в модульном режиме. Приложение фактически собирается из «кирпичиков». Отдельные модули адаптируются и интегрируются друг с другом. Опытные разработчики могут готовить такие приложения в кратчайшие сроки. Например, мы в Neti делаем MVP небольшого приложения для проверки гипотезы или пробы рынка за 1-2 недели. Меньшие временные затраты помогают снизить стоимость приложения для заказчика, и это очень важно на стадии MVP.

Не нужно вести отдельную разработку для iOS и Android. Запуск вашего приложения происходит с использованием промежуточных библиотек. Поэтому созданные приложения одинаково хорошо работают на базе iOS и Android. Если появляется необходимость внести какие-то изменения в тот или иной компонент, он будет обновлен сразу для обеих платформ.

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

Есть ли у разработки на React Native минусы?

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

Приложения получаются тяжелее. Поскольку React Native является промежуточным звеном в экосистеме программных фреймворков, приложение, разработанное на React будет несколько больше, чем созданное с использованием нативных библиотек Apple или Google. То есть если вы создаете, например, App для программы лояльности или бронирования столиков в кафе, то на React Native оно будет занимать не 15, а, скажем 25-30 мегабайт в памяти телефона. Впрочем, в большинстве случаев это практически никак не влияет на оценку приложения пользователями, учитывая емкости флеш-карт и скорость широкополосного доступа в Интернет.

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

Сложности могут возникнуть в том случае, когда объем приложения достаточно велик, и мы говорим о действительно сложной программной среде, занимающей сотни мегабайт в памяти телефона. То же самое касается и производительности. Минусы наличия дополнительного фреймворка будут сказываться только для инженерных или расчетных приложений, которые что-то кодируют, ведут какие-то расчеты или обрабатывают большие массивы данных прямо на мобильном устройстве. В остальных 95% случаев React Native является оптимальным способом запустить прототип как можно быстрее и уже начать работу с приложением.

Лучше выбирать оптимальное соотношение

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

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

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

0
1 комментарий
Hamdam Toshpo'latov

Отличная статья! Все четко проанализировали. 

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда