Что выбрать: iOS- или Android-разработку?

Плюсы и минусы обеих платформ, сколько зарабатывают мобильные разработчики и как освоить специальность с нуля

Рассказываем, какие особенности есть у разных платформ, почему большое количество девайсов на Android — это проблема для разработчиков, и как потрениться кодить на Swift, если у вас нет компьютера на macOS. Разбираемся вместе с Android-разработчицей в такси Maxim Ариной Мурашевой.

Чем занимаются мобильные разработчики?

Мобильный разработчик отвечает за все этапы создания приложения: разрабатывает его архитектуру и может сделать интерфейс, тестирует его, выкладывает в AppStore или Google Play, устраняет уязвимости, выпускает обновления. Строгого разделения на frontend и backend, как в вебе, в мобильной разработке нет. Разработчик должен уметь работать как с интерфейсом, так и с внутренней логикой приложения.

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

Сколько получают мобильные разработчики?

Медианная зарплата мобильного разработчика — 140 тыс. рублей. Начинающие специалисты с хорошим портфолио могут рассчитывать на зарплату от 80 тыс. рублей. Разработчик на Android c опытом 1–2 года в России получает в среднем около 120 тыс. рублей в месяц, на iOS — около 130 тыс. рублей. 

Android vs. iOS: плюсы, минусы и особенности

Количество устройств

Android лидирует среди операционных систем во всем мире. По данным statcounter на начало 2021 года, доля Android среди мобильных устройств в мире составляет 74,34% (это около 2,5 млрд активных устройств), iOS — 25,29% (около 1,4 млрд активных устройств). По России картина примерно такая же: 73,38% гаджетов на Android, 26,26% — на iOS.

Популярность операционных систем iOS и Android в России и в мире
По данным statcounter

Разнообразие устройств

С одной стороны, разнообразие устройств для Android — это большой плюс, ведь работа для разработчика всегда найдется. Кроме того, чтобы начать работать с этой ОС, никакой дополнительной техники покупать не нужно — писать код можно на любой операционной системе: macOS, Linux или Windows. А вот для разработки на iOS обязательно понадобится техника от Apple.

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

Арина Мурашева: «Как правило, в мобильных приложениях на Android нет сложных расчетов и сильно мудреной логики. Неприятный момент разработки — необходимость поддержки разных устройств. Мои “фавориты” — это телефоны с кастомными прошивками и китайские телефоны».

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

Обновления

Все изменения в операционной системе iOS прозрачны — компания ежегодно выпускает подробные гайдлайны по разработке приложений и публикует их на своем сайте.

У Android нюансы разработки могут меняться, и не все библиотеки и ответы на форумах будут актуальны.

Комьюнити

Android — это платформа с открытым кодом (доступ к исходному коду есть у всех желающих) и большим развитым сообществом: новичок может получить поддержку или решить проблему, задав свои вопросы на StackOverflow или GitHub.

iOS — более закрытая экосистема, и комьюнити преимущественно англоязычное, но встречаются и русскоязычные форумы.

Публикация приложения

В Google Play разовая плата за аккаунт разработчика стоит $25. Публикация приложений происходит быстро и, как правило, без участия модераторов. В AppStore потребуется ежегодно продлевать доступ к аккаунту разработчика за $99.

Но есть особенности: в Google Play приложение и аккаунт могут заблокировать без объяснения причин, а техподдержка отвечает редко, размыто и односложно. У AppStore публикация приложения может занять неделю — модераторы проверяют его вручную, — но техподдержка работает оперативнее.

Есть разница и в пользовательском поведении: считается, что пользователь Android не привык платить за приложение или дополнительные функции в нем, поэтому авторы приложений в основном зарабатывают на рекламе внутри него. С iOS же обратная ситуация: покупать приложение в AppStore — нормальная практика для пользователя. Например, как показывает исследование myTracker (система аналитики и атрибуции на базе технологий Mail.ru Group), доход от пользователей, совершающих внутриигровые покупки, составляет $48,82 на iOS и $29,69 на Android. Самая большая разница — в категории фитнес-приложений: пользователи iOS платят за подписку на них в 11 раз чаще, чем владельцы Android.

Что нужно знать мобильным разработчикам?

Есть инструменты, с которыми должен хорошо работать любой разработчик, независимо от операционной системы. Он должен уметь работать с Git — распределенной системой управления версиями — и веб-сервисами для хостинга IT-проектов и совместной их разработки, например, GitHub. Важно уметь пользоваться популярными библиотеками и фреймворками и понимать, как передаются данные через протоколы REST и HTTP, а также работать с базами данных.

Также требуется уметь создавать интерфейс приложения на основе макета, знать, как создать сетевой запрос, как обработать данные — в частности, в формате JSON (текстовый формат обмена данными, основанный на JavaScript), уметь создавать и использовать протоколы, подключать базы данных к приложению, знать архитектурные подходы и понимать способы хранения данных.

Что нужно знать Android-разработчику?

В требованиях к вакансии Android-разработчика обычно пишут, что он должен обязательно знать XML и Android SDK. Из языков чаще всего требуется Java, часто к нему прибавляется Kotlin. В любом случае, знание Java — это хороший старт для начинающего разработчика, поскольку на этом языке вы освоите основные концепции объектно-ориентированного программирования (ООП). Это методология программирования, основанная на представлении программы в виде совокупности объектов. Зная ООП, можно быстрее выучить другой язык.

Также начинающему разработчику понадобится изучить файловую структуру и принципы работы OS Android.

Курс

Android-разработчик

Станьте востребованным специалистом: освойте с нуля программирование на Java и Kotlin, мобильную разработку и UX/UI для Android. Наш карьерный центр поможет с трудоустройством.

Дополнительная скидка 5% по промокоду BLOG.

Узнать больше 

Что нужно знать iOS-разработчику?

Для разработки на iOS понадобится знание языков Objective-C и Swift. Сейчас в основном кодят на Swift, который считается более функциональным.

Для создания приложения понадобится компьютер с операционной системой macOS. Но даже если его нет, потренироваться кодить на Swift все равно можно. Первый вариант — скачать на официальном сайте языка GNU/Linux (операционные системы на основе ядра Linux и системных библиотек GNU) с установленным Swift (есть официальные пакеты под Ubuntu, CentOS и Amazon Linux). Второй — скачать на GitHub Windows с неофициальным пакетом Swift for Windows. Но для того чтобы собрать приложение, придется купить технику Apple.

Курс

iOS-разработчик

Освойте с нуля программирование на Swift, мобильную разработку и UX/UI для iOS. Дополнительная скидка 5% по промокоду BLOG.

Узнать больше

С чего начать?

Первые шаги в мобильной разработке выглядят примерно так:

  1. Освоить один из языков программирования. В зависимости от ОС это Java/Kotlin или Objective-C/Swift.
  2. Изучить Android Developer Guides или Apple Development Guidelines и попробовать написать простое приложение.
  3. Сверстать пару прототипов в онлайн-сервисе для разработки интерфейсов и прототипов, например Figma, Adobe XD или Sketch.
  4. Опубликовать приложение в Google Play или AppStore.
  5. Собрать и разместить портфолио на GitHub.

Всему этом можно научиться на наших курсах: iOS-разработчик и Android-разработчик.

Сложно ли перейти с одной на другую платформу?

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

Арина Мурашева

Android-разработчица в такси Maxim

«Усилия, конечно, приложить придется. Нужно будет учить новый язык и другие инструменты разработки. Однако чем больше работаешь, тем менее важно, с какими технологиями работать. Есть те, с которыми работать приятно, есть те, с которыми не очень, но в целом сменить направление всегда можно».

Полезные ссылки

Текст подготовила: Мария Осина

Какие курсы вам подходят

Профессия «Android-разработчик»

От 7600 Р/мес

16 мес

Подробнее о курсе

Профессия «iOS-разработчик c нуля»

От 7500 Р/мес

12

Подробнее о курсе
Блог SkillFactory
Добавить комментарий