Я хочу разобрать статью «Обзор рынка мобильной разработки в кризис» от Workspace, который вышел на днях и где я был одним из экспертов. Кризис наступил, мы в нём живём уже несколько месяцев, и в статье рассматривается, что нового наблюдается сейчас в этой сфере.
Комментарий недоступен
Имею немного другую позицию, чем автор данной статьи и комментария. За плечами имею 2 года Android разработки в одной из крупных компаний, которая занимается разработкой ПО на заказ. Также брал проект под аутсорс самостоятельно. Я начинал учить Android (Java), причем с 0 и без технического образования на тот момент.
"Придётся учиться долго, со слезами, страхом и падающими приложениями". Как и в случае c Angular, Vue, React. Только по ним в плане мобильной разработки в разы меньше документации, как и с Flutter/Xamarin (с Flutter сейчас так обстоят дела, в будущем явно будет меньше). Каждая платформа имеет свои особенности, поэтому писать код, который нормально и стабильно будет работать и там, и там, будет намного тяжелее (если не брать приложения из двух экранов, где один из них - список). 90% студий пишут на Java/Kotlin. Мултиплатформа остается крайне специфичной вещью, со своими минусами и плюсами. Как бы не писали Meduza и прочие об успехах Flutter, он пока не настолько популярен, чтобы можно было искать работу по нему (в данный момент).
"Нормальный выбор, если в планах стать фулстек-фрилансером". Только вот ставка у вас будет такая же, как у "чистых" программистов. А проблем будет больше. Да, часто нужно кооперироваться с ios программистом, чтобы написать решение для заказчика, но вероятность того, что вы найдете заказ, будет повыше. Заказчики понимают, что мултиплатформа имеет свои недостатки и если вы перестанете поддерживать проект, им будет в разы труднее найти специалиста под это.
"Ну и третий - webview". Опять же, если писать под аутсорс, но это считается слишком "лоу" в мире нормальных студий.
Возможно, что я пишу так, потому что я попал в компанию, где были более-менее нормально выстроены процессы, а в заказчиках преимущественно крупные российские частные и государственные компании. Судя по сайту и описанию компании bright mobile - это "локальный" атусорс с более низким уровнем кода и заказчиков. Это не плохо, далеко не все компании готовы обращаться к топ-20 по России, чтобы написать приложение (особенно, если ты суши шоп из Самары или около того). Но, как я привел выше, нативная разработка - это стандарт, который используют все крупные компании.
Так что мое мнение - если ваша цель - найти работу программистом, то учите "чистый" iOS/Android (если есть деньги на mac/iphone, то лучше первое, у них зп на 10-15% выше). Если цель - аутсорс, то тут сильно зависит от ваших амбиций. Но здесь я бы также советовал учить "чистое", а не мултиплатформу
Это как вопрос религии. Есть три лагеря противников. Первый: чистый натив по хардкору. Придётся учиться долго, со слезами, страхом и падающими приложениями. Но тем не менее работу в той или иной студии найти можно будет. Второй - компилируемая кроссплатформа: это Angular, Vue, React и подобные. Нормальный выбор, если в планах стать фулстек-фрилансером. Ну и третий - webview. Общий подход - в мобильную оболочку оборачивается мобильный сайт. В чистом виде почти нигде не применяется потому что фу, но если правильно приготовить оболочку, то вполне подходит для проектов с малой и средней загрузкой. Тут главная проблема найти такую оболочку, скоро про это будет статья
Могу сказать пару слов про React Native:
1. В открытом доступе находится урезанная версия, которая просто обязана тормозить. В частности, Facebook сделал уже вторую версию компиляции в байткод, но вам не будет доступно никакой. Народ интересуется - https://github.com/facebook/react-native/issues/24132
2. Сам Facebook использует RN только для второстепенных экранов, типа настроек. Все основные экраны - чисто нейтив.
Как вывод, RN можно учить, если вам хочется работать в FB на реализации никому не нужных экранов.
Забейте на натив, и тем более на react native и xamarin. В мобилках будущее за Flutter.