Назад

React Native: плюсы и минусы фреймворка в 2024 году. UPD

Время чтения: 4 минут

Содержание

Привет, я Сергей Никоненко, операционный директор Purrweb. Cегодня поговорим про React Native разработку . Рассказываю, как фреймворк показывает себя в бою — на реальных проектах. 

Без красивых историй про то, как «Facebook перевернул мобильную разработку, подарив миру универсальную технологию». Это понятная статья «в лоб» о том, какие у React Native плюсы и минусы. Идея рассказать про особенности фреймворка пришла ко мне ещё год назад — теперь есть желание обновить информацию.

А теперь давайте к сути. 🙂

Преимущества React Native

Общая кодовая база. Фактически вы разрабатываете 2 отдельные версии приложения (под iOS и Android). Да, две версии приложения, но код в них на 65-70% одинаковый.

Общий код минимизирует количество багов по ходу разработки (объем кода будет почти в 2 раза меньше) и значительно упрощает поддержку продукта в будущем. Для стартапов это выливается в дополнительные дни и недели, которые можно потратить на активности со «звездочкой» — например, на проработку маркетинговой стратегии, анализ способов монетизации и планирование будущих итераций развития продукта.

ЧИТАЙТЕ ТАКЖЕ  SCRUM, щеночки и 5 000+ скачиваний в Google Play: как мы делали немецкое приложение для владельцев домашних животных

Максимально похож на нативный. В отличие от других кроссплатформенных решений, вроде Cordova, Ionic или Titanium, которые имитируют среду браузера (все равно, что сайт, который притворяется мобильным приложением), React Native использует нативные API.

Нет никаких проблем с табами и скроллированием, а интерфейс ведет себя так же отзывчиво, как и в классическом приложении — без WebView и схожих инструментов под капотом

Говоря о том, какой перформанс можно получить с React Native, предлагаю посмотреть на экраны приложения, которое мы разработали в Purrweb:

React Native плюсы и минусы Сервис аренды жилья PAD. Свайп выглядит так, как если бы вы разрабатывали на Java/Swift

Различные наборы компонентов и библиотек для React Native (преимущество всех хороших фреймворков) помогают закрывать performance-задачи по ходу разработки продукта. Нужно только убедиться, что библиотека, которую планирует использовать ваш разработчик, достаточно часто обновляется и поддерживается сообществом.

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

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

К слову о комьюнити: в середине 2020-го официальная команда поддержки фреймворка выпустила большой патч с апдейтами всей документации.

Что нового:

  • Обновили гайд для новичков. В нём рассказали о том, как работают нативные компоненты в React Native — полезно для тех, кто раньше не занимался мобильной разработкой.
  • Добавили рекомендации по тестированию. Пригласили Войтеха Новака, чтобы тот поделился опытом тестирования кода приложений на React Native.
  • Зарелизили новое руководство по безопасности. С иллюстрациями. 🙂

И многое другое. Подробности читайте тут.

А ещё хочется упомянуть  Reddit — здесь можно найти огромное количество обсуждений проблем и советов от разработчиков с приличным опытом разработки на React Native.

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

Быстрый поиск подрядчика. Тратить уйму времени на поиск Swift и Java разработчиков не придется. Достаточно отыскать того, кто знает JavaScript, и можно стартовать. Если найдете того, кто разбирается в React (тот же RN, только для веба), будет еще лучше.

ЧИТАЙТЕ ТАКЖЕ  Разработка на React Native для «узких» задач. Кейс Purrweb

Вот еще несколько плюшек:

  • Fast Refresh — сильно ускоряет разработку приложения, так как   практически любое изменение в коде компонента влечет за собой его мгновенное обновление (re-render) без изменения состояния.
  •   JS-движок Hermes для Android-версии, ускоряет запуск приложения, уменьшает размер bundl’a и снижает потребление памяти.
  • Автолинковка нативных модулей — упрощает установку библиотек. Ненативщикам не нужно прописывать импорты, что сильно экономит время.
  • LogBox — в 2020-м им дополнили все версии React Native (раньше был доступен только опционально). Зачем нужен LogBox? Он позволяет отслеживать синтаксические ошибки в коде и исправлять их в полете.

Останавливаться на одних лишь позитивных моментах в статье «React Native: плюсы и минусы» не буду — при таком раскладе я стану походить на человека, который ломится к вам в дом и пытается что-то впарить. Как правило, это какая-то дичь, которую подают под соусом «уникальности». Обсуждать плюсы и минусы React Native — важно. А он, как и любая другая технология, никакая не серебряная пуля.

Недостатки React Native

Молодой фреймворк. Это (пока) не версия 1.0.0, поэтому некоторые компоненты все еще отсутствуют и сама технология довольно часто обновляется.

Для разработчика «незрелость» React Native означает, что ему нужно следить за версией как самого RN, так и библиотек зависящих от него. Продукт нельзя отложить на год, а потом начать добавлять новые фичи — потребуется время на обновление фреймворка.

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

Сложно адаптировать под все андроиды — cлишком большой пул девайсов, очень много разных разрешений и оболочек. По факту, это скорее проблема разработки под андроиды, нежели самого React Native.

Где использовать?

О плюсах и минусах React Native я рассказал. Разрабатывать на этом фреймворке или нет — выбор напрямую зависит от специфики вашего проекта. Чтобы как-то это все подытожить, пара слов о том, где эта технология работает на 5 с плюсом.

Минимально жизнеспособный продукт (MVP). Если планируете тестировать бизнес-гипотезу и нужно функциональное решение с крутой визуализацией, React Native — это отличный выбор. Возможность одновременного выхода на Android и iOS-рынки позволит быстро собрать первую обратную связь.

Какой MVP можно получить на выходе?

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

Все, о чем я здесь рассказал, включая плюсы и минусы React Native — опыт, полученный за время реализации десятков проектов. Текущих и тех, что успешно зарелизились и перешли в фазу поддержки. За React Native я #топлюибудутопить, тут же старался дать максимально честную и четкую картинку того, что имеем по факту. Надеюсь, получилось 🙂

ЧИТАЙТЕ ТАКЖЕ  Как мы готовили захват рынка фриланс поваров России. Кейс Purrweb

Хотел, чтобы статья про плюсы и минусы React Native была полезной и для коллег по цеху. Господа-разработчики, охотно делюсь списком must-have ресурсов для разработки на React Native:

Насколько публикация полезна?

Оцени эту статью!

18 оценок, среднее 4.7 из 5.

Оценок пока нет. Поставьте оценку первым.

Так как вы нашли эту публикацию полезной...

Подписывайтесь на нас в соцсетях!

Share