Второй подход к React Native

Продолжаю традицию пробовать новые технологии на Курсовике 😅

В прошлый раз я тыкал палочкой Electron, в этот раз решил снова посмотреть, как обстоят дела в экосистеме React Native. Один раз я уже пробовал на нём писать, и мне показалось, что DX довольно сыроват. В этот раз всё оказалось по-другому.

Собственно приложение

Приложение я написал на React Native с Expo. Кому интересно, можно сразу посмотреть на результат. (Чтобы посмотреть на своём телефоне понадобится Expo-клиент.)

Центробанк иногда не отдаёт котировки на следующий день, поэтому курса на завтра иногда может на экране не быть, сорри ¯\_(ツ)_/¯

Если кому-то интересно посмотреть на исходники, то я их рядом на Гитхабе положил.

Что там с React Native

С последней встречи RN похорошел, писать стало сильно приятнее. Документация стала продуманнее и полнее. Но есть и моменты, которые хочется отдельно выделить.

Из неочевидного

  • Градиенты надо делать с помощью специального компонента, стилями их сделать нельзя.
  • Есть некоторые пляски с настройкой Андроид-студии, но в целом терпимо.
  • У Expo есть некоторые ограничения на нативное API.
  • Позиционирование текста в вебе гораздо проще 😃

Из офигенного

  • Есть шаблоны для старта проекта на TypeScript.
  • Hot Reload — грёбаная магия, все изменения отображаются мгновенно даже на настоящем устройстве.
  • Redux/MobX/whatever работает без проблем, у меня под капотом сейчас Redux-toolkit.
  • У Expo очень удобный паблиш и в целом весь DX.

Если кому интересно попробовать что-то пописать, могу посоветовать вот это видео. Это бесплатное начало платного курса, но мне было достаточно, чтобы въехать; дальше всё пошло само.

Ссылки и ресурсы