Comments 5
По поводу разработки под iOS без симулятора скажу так, поставьте виртуалку и запускайте проверку реализации там, кроме того, есть разные UX паттерны для iOS/Android, тот же свайп влево в почте, в Android для этого используется длительное нажатие с выпадающим контекстым меню.
Здесь были уже статьи про RN, как человек с огромным опытом разработки скажу так — берите Swift/Kotlin, если нет денег на двух разработчиков — берите RN, но закладывайте на перспективу реализацию всего в виде нативных приложений. Рано или поздно вам придется столкнуться с проблемами RN, которые заставят вас отказаться от этого замечательного решения, как бы вам этого не хотелось.
Я продолжил один проект разработанный на expo. Вцелом если заведомо не нужен будет натив то впечатление хорошее. Для команд у которых естььвеб разработчики и нужно сделать мобильное приложение без низкоуровневой интеграции. Но если в команде есть на мобильные разработчики то expo не нужен как впрочем и react native.
По expo можно было бы осветить два режима кажется у них это называется managed/unmanaged то есть с использованием expo в качестве своеобразной виртуальной машине и более нативные. Я работал только с первым вариантом.
По пуш сообщениям. Да ни идут из коробки но наскол ко я понял. Все идут через транзитный сервер expo и нет возможности отправлять сообщения в топики.
Expo — отличный инструмент, позволяет быстро запустить приложение. При условии что ваше приложение не завязано на кастомные нативные модули — обычные списки, тест, картинки, графики вот это все.
Но даже если вы думаете что ваше приложение не завязано на свои нативные модули, рано или поздно встанет вопрос съезда с expo. К вам придет отдел маркетинга и попросит интегрировать аналитику которая не поддерживается expo. Вы обнаружите баг который нельзя пропатчить в expo и можно только ждать следующего sdk. Вы гарантировано будете отставать на несколько версий reanimated, gesture-handler, react-native.
В сумме, если у вас есть время и ресурсы и вы пишите приложение а не proof-of-concept — начинайте сразу с react-native. это чуть сложнее, но в конечном итоге стоит того.
Кроме того большая часть библиотек expo ставятся через unimodules — кроме разве что пушей и over-the-air-updates. Первая решается нативным пушами, вторая — AppCenter code-push.
React Native init vs Expo