{"id":3919,"url":"\/distributions\/3919\/click?bit=1&hash=25d0bfb8ab9076258f985f082384c9bc6a34b4e3afb3e71df41ca22ffff3a5f4","title":"\u0427\u0435\u043c\u043f\u0438\u043e\u043d\u0430\u0442 \u0434\u043b\u044f \u0438\u043d\u0432\u0435\u0441\u0442\u043e\u0440\u043e\u0432: \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0438\u0433\u0440\u0430\u0442\u044c \u0434\u043e 100 \u043c\u043b\u043d \u0440\u0443\u0431\u043b\u0435\u0439","buttonText":"\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e!","imageUuid":"8c1166aa-ed4d-5964-8fea-818410a466e6","isPaidAndBannersEnabled":false}
Мобайл
Reactive

iOS или Android: что выбрать?

Ликбез для начинающих разработчиков.

Если вы только пришли в разработку, невозможно заняться iOS и Android одновременно. Разработка под эти операционные системы ведется на разных языках программирования. Для iOS необходимо владение Swift и Objective-C. Для Android – Kotlin или Java. Больше того, вам потребуется разная техника. Для iOS – Mac или iPhone. Для Android подойдет любой компьютер и смартфон. Существуют эмуляторы, но для постоянной работы и тестирования этот вариант не подходит.

Доля рынка операционных систем в мире  Statcounter.com

Оба направления разработки перспективны. Однако если посмотреть на статистику, по данным Statcounter.com, Android лидирует среди всех операционных систем на мировом рынке. Он установлен на 40% всех устройств. Среди мобильных телефонов доля Android – 70%, iOS – 29%. Среди планшетов: Android – 40%, iOS – 60%. По России картина немного отличается, но тренд совпадает с общемировым. Среди смартфонов Android – 80%. На планшетах: Android – 48%, iOS – 52%. Есть региональные различия. Так, в Москве и Красноярске более популярен iOS, в Петербурге и Новосибирске – Android.

Покупательская способность аудитории Android и iOS разнится так же сильно, как их популярность. Но в обратную сторону. По данным techrocks.ru, пользователи iOS покупают через мобильные приложения в три раза активнее. Впрочем, это имеет значение для владельцев бизнеса, создателей стартапов. На зарплаты разработчиков это не влияет: они на одном уровне.

Прежде чем выбирать операционную систему и делать ее своим полем деятельности, стоит освоиться в IT-разработке в целом. Если это новая для вас сфера, можно записаться на бесплатный курс для новичков или заняться изучением основ самостоятельно. Например, в открытом доступе есть гарвардский курс «‎CS50. Основы программирования»‎ на русском языке. Ориентируясь на ту технику, что у вас есть, выберите программное обеспечение и язык. Осваивайте их, экспериментируйте. Попробуйте для начала сделать несколько проектов для портфолио, по фану. Можно найти заказчиков для своих пробных проектов среди друзей. Ваши шансы на успех повысит владение английским языком (на нем написаны многие материалы, необходимые для работы) и готовность постоянно учиться, следить за трендами.

Android

Преимуществ много:

  • для работы подойдет любой компьютер;
  • большое сообщество разработчиков;
  • язык программирования Java может быть использован при написании не только мобильных, но и веб-приложений, игр;
  • на Android работают не только приложения для смартфонов, но и для умных часов, Smart TV, VR/AR;
  • среда разработки анализирует код и может автоматически формировать некоторые его части;
  • хороший фреймворк; можно найти готовые модули под самые разные цели;
  • платформу можно адаптировать под любую специализированную задачу;
  • исходный код Android открыт для всех; есть платформа Android Open Source Project, где компания публикует все данные, и разработчики тоже могут это делать;
  • публикация приложений в Google Play происходит практически мгновенно, обычно без участия модераторов – не нужно долго ждать подтверждения;
  • небольшая плата за размещение приложений в Google Play ($25 один раз, при регистрации).

Каковы недостатки?

  • многообразие устройств и их параметров создает почву для багов, неодинаковой работы приложения на разных смартфонах;
  • многообразие версий операционной системы: в отличие от iOS, у Android остаются актуальными и могут работать без обновлений устаревшие версии;
  • не все обучающие материалы и ответы на форумах актуальны: система существует давно, нюансы разработки меняются;
  • приложение и аккаунт могут быть заблокированы без объяснения причин, на жалобы в техподдержку отвечает бот.

В базе вакансий HeadHunter на момент написания этого материала открыто 3363 вакансии по запросу «‎Android developer»‎ в России.

По данным «‎Хабр Карьера»‎, на 2020 год средняя зарплата разработчика на Java – 130 тыс. рублей, на Kotlin – 125 тыс. рублей.

Согласно исследованию «‎Яндекса»‎, к концу 2019 года зарплата Android-разработчиков с опытом меньше года составляла около 46 тыс. рублей. Специалисты с опытом больше 6 лет могли рассчитывать на зарплату в районе 207 тыс. рублей.

iOS

Преимущества для разработчиков:

  • строго ограниченное количество версий смартфона, размеров экрана и самой операционной системы;
  • все изменения в ОС прозрачны: Apple ежегодно выпускает гайдлайны по разработке приложений для iOS и объясняет, как заменить элементы кода на более производительные;
  • приложений и разработчиков меньше, конкуренция ниже.

Недостатки:

  • для работы необходима дорогостоящая техника;
  • чтобы загружать приложения в AppStore, нужно ежегодно продлевать аккаунт разработчика за $99;
  • публикация приложения может занять больше недели, потому что модерация производится вручную.

В базе вакансий HeadHunter на момент написания этого материала открыто 3025 вакансий по запросу «‎iOS developer»‎.

По данным «‎Хабр Карьера», на 2020 год средняя зарплата разработчика на Swift – 130 тыс. рублей, на Objective-C – 150 тыс. рублей.

Согласно исследованию «‎Яндекса»‎, на 2019 год зарплата iOS-разработчиков с опытом меньше года составляла около 69 тыс. рублей. Специалисты с опытом больше 6 лет могли рассчитывать на зарплату в районе 216 тыс. рублей.

Как научиться?

В Сети легко найти обучающие курсы по мобильной разработке. Можно даже поступить в университет и изучить это как предмет в рамках бакалаврской программы по информатике. Однако некоторые наши специалисты считают, что можно научиться всему необходимому самостоятельно.

Вадим Ахмаров
Android-разработчик Reactive

Вполне возможно самому научиться качественной разработке под Android. Но в любом случае придется читать курсы. Бесплатные, например. Основное – это практика. Уже на практике обнаруживается много подводных камней. Когда появляется какая-либо ошибка, часто ответ находишь на форумах, а не в официальной документации.

Антон Лунегов
Главный специалист компании «ЛУКОЙЛ-Технологии», iOS-разработчик Reactive

Научиться разработке для iOS можно самому и без специальных курсов. Дело в человеке. Если он упертый, то сядет и найдет всю необходимую информацию. В книгах, в интернете. Все курсы и видео есть на торрентах. Можно скачать, сесть и учиться самостоятельно. Платные курсы могут помочь с мотивацией: раз заплатил, по-любому результат надо получить. Плюс, обычно на курсах преподает лектор, ему можно задать любые вопросы, быстрее прийти к пониманию. А если учишься сам, очень помогает, когда среди знакомых есть разработчики в нужной сфере. Можно советоваться с ними‎.

Так с чего лучше начать?

Вадим Ахмаров, Android-разработчик Reactive:

Зависит от того, сколько у человека денег. На Android можно начать бесплатно, а на iOS придется Mac покупать. Если говорить о технической сложности, Android сложнее из-за большего количества устройств‎.

Антон Лунегов, главный специалист компании «ЛУКОЙЛ-Технологии», iOS-разработчик Reactive:

Начинать с iOS не рекомендую. Вообще для начала нужно понимание программирования в целом, базовые знания. Просто так прийти из другой сферы невозможно. Необходимо изучать языки программирования. Стартовать в мобильной разработке я бы рекомендовал с Android. По Android больше структурированного материала. Книги написаны более понятно.

Я и сам начинал с Android. После шести лет в этой сфере занялся iOS, теперь параллельно работаю над проектами для обеих операционных систем. У меня уже было понимание, что из себя представляет разработка для iOS, оставалось только изучить язык. Тогда в «‎Лукойле»‎, где я работаю до сих пор, была необходимость адаптировать под iOS приложение, Android-разработкой которого я руководил. Специалиста со стороны подключить было сложно. В итоге я сам за это дело взялся. Мне предоставили и iPhone, и MacBook, и достаточное количество времени. Я просто стал изучать, погружаться и сам написал это приложение‎.

В любом случае конечный выбор только за тобой. Успехов тебе и новых свершений!

Кстати, нам тоже бывают нужны специалисты в мобильной разработке.

0
29 комментариев
Написать комментарий...
NightmareZ
 Для iOS необходимо владение Swift и Objective-C. Для Android – Kotlin или Java. Больше того, вам потребуется разная техника. Для iOS – Mac или iPhone.

Уже не одно кроссплатформенное приложение написал на Ionic/Angular/TypeScript. Дальше не читал, потому что всё равно пост ты написал ради того, чтобы в конце рекламную ссылку вставить.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
NightmareZ

А ещё надо знать язык ассемблера и уметь паять. Потому что ты ноль без палки, если не можешь микруху выпаять.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
NightmareZ

Нужно уметь плавить кремний, ведь как иначе ты создашь процессор, на котором будет твой код работать?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
NightmareZ

Этим занимаются преподы в вузах, когда пытаются запихнуть тензорное исчисление и неевклидовы пространства в голову человеку, который хочет формочки для сайтов верстать.

Ответить
Развернуть ветку
OrkVasya

А зачем идти в вуз, если хочешь формочками ограничиваться?

Ответить
Развернуть ветку
NightmareZ

Потому что в СНГ так принято. Либо в вуз, либо в армию, либо в макдональдс. Последний вариант, конечно, наименее травмирующий.

Ответить
Развернуть ветку
OrkVasya

А, т.е. это крик души был?

Ответить
Развернуть ветку
NightmareZ

Сука, орк Вася )))))))

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
NightmareZ

Я сходил нахуй. Но это путь не для всех.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Damn

От проекта зависит. На каком-нибудь Флаттере можно приложения вообще без спуска на уровень платформы писать.

Ответить
Развернуть ветку
Тимур Загитов

С точки зрения юзера - что привычней. Правда учитывая, что по итогу люди используют приложения (которые на обоих системах выглядят плюс-минус одинаково) а не ОС, выходит, что это уже больше вопрос вкуса.
С точки зрения разработчика... Обе системы востребованы.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Тимур Загитов

Ммм... Какой вкусный градус дискуссии сходу. Мама научила?

Ответить
Развернуть ветку
NightmareZ

Давай мамок проедем и сразу перейдём к Гитлеру!?

Ответить
Развернуть ветку
Тимур Загитов

Можешь и Муссолини обсуждать - мне дела до неадекватов нету. К тебе уже пативэн с @Шериф выехал. Жди.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Dmitriy S.

Весьма занимательное чтиво.

Ответить
Развернуть ветку
Sheldon Unknown

Я извиняюсь, конечно, но вся статья выглядит, как один большой рекламный буклет. Понятно, что иначе подборку материалов сделать было бы сложно, но уж слишком много чисто "продающих" элементов в тексте.

Ответить
Развернуть ветку
бочка бас колбасит соло

ну дак кидайте репорты/минусите.
чо сидите со стекающей слюной читаете тогда

Ответить
Развернуть ветку
ZHINGEROVSKI

Рекламное говно

Ответить
Развернуть ветку
бочка бас колбасит соло

"Например, на «Нетологии», Skillbox, Geekbrains. "
началось инфоцыганство. честно заебала уже реклама от них.

Ответить
Развернуть ветку
Vladyslav Semenchenko

Про айос какой то бред написан

1) приложений на айос если и меньше, то потому, что нет какого то уж явного говна, простите. Условно какой нибудь убер и тд есть и там и там, поэтому конкуренция будет и там и и там, так или иначе.. Это мог бы быть плюс или минус, если б сейчас был 2010 год. В 2021 на любой платформе у тебя должна быть либо крутая идея, либо очень хорошо сделанное приложение, либо большие инвестиции. Условно с hello world трудно взлететь на любой из платформ.
2) толковых разработчиков не хватает на обоих платформах. Джунов так же примерно одинаково по обе стороны и их много, хоть лопатой греби.
3) не нужна дорогая техника для старта разработки под айос. Можно купить мак мини за 20к и на нем отлично кодить, без каких либо проблем. Для старта будет более чем достаточно. Можно даже поставить на компьютер виртуальную машину и нормально заниматься первое время (мой случай, именно виртуальной машине писал первые приложения, разбирался тогда ещё с objc)
4) публикация приложение на айос сейчас занимает от силы 2 дня, и то, если давно не было апдейтов приложения или оно новое. Если апдейт раз в две недели, то обычно за один день выкатывается (вечером залил, на утро оно уже доступно пользователям). На андроид быстрее, тут никто не спорит.
5) на айос разве нет огромного числа модулей (фреймворков), как на андроид? Почему то у андроид это стоит в плюсах.. Да, там может быть больше. Но создаётся впечатление, что на андроид все есть готовое, а на айос нихрена нет:)) НЕ ПУГАЙТЕ МОЛОДЕЖЬ!
6) на свифт можно так же писать приложения под всю экосистему Эппл: макос, айос, твос и вотчос. Есть фреймворки под AR/VR, для создания игр и тд
7) анализатор кода на андроид. Ну во первых, в Xcode он тоже есть + обычно прикручиваешь ещё и линтер сразу. Но если уж совсем хочется завалиться ворнингами - есть АппКод, платный, но для студентов вроде всего 50$ стоит. Та же платформа, что и для андроид студии, с заточкой под айос. Правда мне вообще не зашёл

Ответить
Развернуть ветку
Shadowlordm

В глаз или бровь?

Ответить
Развернуть ветку
NightmareZ

На оба стула.

Ответить
Развернуть ветку
Лев Шохирев

Когда-то давно платформа Android была более открытой и дружелюбной к разработчику, но последнее время гугл творит такую херню, что всё сводится к небезызвестной аксиоме.

Однако писать на Котлине всё еще менее больно, чем на Свифте.

*мимомобильныйразработчик*

Ответить
Развернуть ветку
Читать все 29 комментариев
null