Найти тему
IT FROM BIT

Рассвет React Native: ответ на критику

В последние 2-3 месяца по сети пролетела волна репостов двух статей от Airbnb и Udacity под общим заголовком "Мы сворачиваем разработку на React Native". Как и любая другая негативная повестка, эти статьи довольно широко разлетелись по сети. При этом читатели часто за основным заголовком не видят, например, что в том же Udacity разработчики в целом позитивно отнеслись к опыту работы с RN, а отказываются по другим причинам.

Краткий обзор статей с опытом использования React Native

В целом отрицательный опыт

  • React Native at Airbnb — серия из 5 статей о двухлетнем опыте использования RN для реализации порядка 500 экранов в iOS и Android приложениях. Является, пожалуй, самым "шумным" примером отказа от RN в последнее время, т.к. Airbnb известны своим вкладом в open-source и в RN экосистему в частности.
  • React Native: A retrospective from the mobile-engineering team at Udacity — история о том, как в Udacity использовали RN для реализации экспериментальных фичей в рамках нативного приложения и почему они решили в дальнейшем отказаться от RN. Стоит отметить, что с RN экспериментировала команда из одного iOS-разработчика и двух Android, которая спустя 1.5 года выросла до 4 iOS и 3 Android-разработчиков. Отметим, что все это время в команде не было ни одного frontend разработчика. Вывод статьи — это не "отказ от RN", а "возможно, iOS команда будет делать что-либо в будущем на RN для iOS, т.к. в целом им понравилось больше [чем Android команде]".

-2

Положительный опыт

  • Building Skype on ReactXP — инженеры Microsoft о разработке библиотеки Reactxp поверх RN для реализации кросс-платформенного обновленного Skype. Reactxp даёт возможность релизить RN приложения также в Веб и Windows 10 (UWP).
  • Supporting React Native at Pinterest — положительный опыт Pinterest реализации вторичных экранов на React Native, приняли решение использовать RN в дальнейшем.
  • React Native at Instagram — опыт Instagram о переводе с WebView на RN ряда вторичных экранов в приложении на iOS и Android. Есть немного про то, как они улучшали скорость первоначального запуска приложения. В среднем на 5 экранах удалось добиться 92% шаринга кода, что авторами трактуется как увеличение скорости разработки на эти 92%.
  • Using React Native: One Year Later — опыт Discord (ежедневная аудитория 2 млн., альтернатива Slack) с точки зрения iOS разработчика, которому в целом все понравилось и планируют использовать RN дальше. Разработчик отмечает, что удалось шарить порядка 95% кода с веб-версией, за счет использования Flux архитектуры. Также довольно быстро собрали Android версию на RN, но она не удовлетворила требованиям скорости работы, поэтому её решили писать нативно.
  • Why Discord is Sticking with React Native — еще одна совсем свежая статья (26 июля 2018 года), почему Discord спустя 3 года продолжает использовать RN. Авторы подчеркивают, что RN даёт возможность быстро развиваться iOS-версии с небольшой командой из 2 разработчиков.
  • Powering UberEATS with React Native and Uber Engineering — опыт Uber о реализации некоторых экранов в iOS-приложении UberEATS заказа и доставки еды. В основном рассказывается об архитектуре приложения, схожей с архитектурой обычного web react+redux+saga приложения.
  • 18 Months of Experience with React Native at Netguru: Lessons Learned, Mistakes Made and a Look into the Future — 1.5 года и 20 проектов опыта использования React Native довольно крупной веб-студией с 15 RN разработчиками.
  • How We Use React Native Within Our Products At Runtastic — 130 млн. зарегистрированных пользователей.

Свой опыт подробно описывают далеко не все, однако известно, что приложения Walmart, Bloomberg, SoundCloud, Wix и др. либо полностью написаны на RN, либо реализуют на RN вторичные экраны.

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц