Второй подход к 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.
Если кому интересно попробовать что-то пописать, могу посоветовать вот это видео. Это бесплатное начало платного курса, но мне было достаточно, чтобы въехать; дальше всё пошло само.