React Native vs Native
Добрых времени суток.
Решил начать изучать мобильную разработку, а конкретно разработку под iOS (Swift, Objective-C), после долгих лет работы frontend-разработчиком на Native JS & React и появился вопрос, что же лучше? React Native или Swift?
В интернете статьи пишут лишь про производительность и быстроту разработки, так таковой, в принципе, это логично, что компании/агенству легче содержать 1-го человека, который воюет на 2 фронта сразу, в следствии чего 2 приложения (Android, iOS) выпускаются быстрее, нежели, чем на нативных языках, ибо там уже нужно 2-а разработчика, соответственно, платить таким людям нужно не мало, но если абстрагироваться от денег и скорости разработки, сделать упор на качество, производительность и лёгкую поддержку приложения, что же будет лучше?
Могу предположить следующий фактор, если приложение легковесное само по себе, то, наверно, React-native, ибо получится быстрее выпустить 2 приложения, но если приложение уже имеет вес, то, скорее всего, нативные ЯП для соответствующей платформы.
*убираем фактор покупки соответствующей машины для iOS, которая стоит не малых денег
**очень интересно почитать мнения разработчиков react-native и разработчиков iOS/Android
***если вы долго пишите на Swift/Objective-C или Java, то, пожалуйста, распишите, почему именно этот стэк? почему не выбрали/перешли на react-native? Что по Вашему мнению изменится, если Вы поменяете текущий стэк технологий? (убирая фактор поддержки старых приложений)
****полное абстрагирование от компаний и денег
Ответы (1 шт):
Все зависит сугубо от проекта и от компании. Кросс платформа идеально подходит для старта проекта. Так как позволяет писать код сразу для двух платформ. Для больших проектов и Enterprise - Нативная разработка сильное предпочтительнее, но и тут зависит от проекта внутри компании. У нас несколько команд по мобильной разработке и например внутренние проекты пишут на кроссплатформе, клиентские проекты, где пользователей больше - пишутся на нативе.
***если вы долго пишите на Swift/Objective-C или Java, то, пожалуйста, распишите, почему именно этот стэк? почему не выбрали/перешли на react-native? Что по Вашему мнению изменится, если Вы поменяете текущий стэк технологий? (убирая фактор поддержки старых приложений)
Я начинал писать на Android, когда еще не было Android Studio и кроме как на Java, писать было не на чем. Только недавно кроссплатформа стала не отличаться по Performance c Native. Сейчас пишу под iOS на Swift. Кроссплатформой никогда не занимался, если и буду заниматься, только если это будет Flutter. Ну и интеграция Enterprise Библиотек в нативе происходит проще, например некоторые библиотеки, которые еще написаны на Obj-C и я сомневаюсь, что их будут переносить на Swift.