Колонки

Android или iOS: что выбрать для старта карьеры в мобильной разработке

Колонки
Дмитрий Гордин
Дмитрий Гордин

Эксперт онлайн-университета «Нетология»

Полина Константинова

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

Android или iOS: что выбрать для старта карьеры в мобильной разработке

Что популярно в России: iOS или Android

Существует миф: «iPhone покупают люди с высоким достатком, все остальные пользуются Android». На самом деле, сегодня эта грань стирается — нередко цена смартфона на Android, например, Google Pixel, сопоставима с новым iPhone, а старые версии iPhone мало отличаются по стоимости от среднего Android.

Москва

Санкт-Петербург

Красноярск

На карте распределения смартфонов по России, которую подготовил российский дизайнер, отчетливо видно, что iPhone выбирают в основном жители Москвы, а Android преобладает в регионах (iPhone — красным, Android — синим). Если посмотреть в долях, то более 50% всего рынка мобильных приложений приходится на iOS, но карта показывает, что самая большая концентрация пользователей из Москвы и Санкт-Петербурга. 

Исходя из распространенности iOS и Android в регионах России, начинающие разработчики могут выбрать, с какой системы им будет проще начинать карьеру в мобильной разработке.

Особенности Android: плюсы и минусы разработки

Существует несколько причин, почему разработка приложений на Android удобна для новичка:

  • Разнообразие устройств. На Android сейчас работают не только смартфоны и планшеты, но и телевизоры, холодильники, автомобильные аудиосистемы, причем от разных брендов. Соответственно, и спектр приложений может быть широкий. 
  • Для работы подойдет любой компьютер. Неважно, на основе Windows, Linux или Mac. Android Studio и программы из SDK доступны для всех платформ.
  • Коммьюнити. По моим ощущениям, сообщество разработчиков под Android несколько шире, чем у iOS. Для новичка это весомый плюс: проще найти помощь на форумах, получить информацию из первых уст, пообщаться в чатах. 
  • Возможность адаптировать платформу под специализированную задачу без потери поддержки. Если разрабатывать приложение под какую-то специализированную задачу, то Android подходит для этого лучше. Например, недавно с введением ОФД появилась задача адаптации кассовых аппаратов — терминалов для проведения оплаты. Компания «Эвотор» для этого взяла платформу Android и создала приложение для работы. Для этого они отказались от поддержки Google, убрали Market. То есть полностью кастомизировали платформу. И даже если Google уйдет из России, то эти кассовые аппараты будут работать. С iOS такого бы не получилось. 
  • Отличная среда разработки. Среда разработки Android Studio основана на лучшей в мире среде — Intellij Idea. В этой среде есть умный анализ кода, удобная навигация, автоматическое форматирование кода и многое другое. 

Устоявшийся стереотип из фильмов: программисты, стучащие по клавишам и набирающие какие-то нереальные объемы текста в секунду. В реальности все не так. Да, код часто может быть большим, но разработчики не печатают каждый символ самостоятельно, чаще всего можно написать только первые пару символов и среда разработки IDE продолжит дальше сама. 

Кажется, что в Android разработка проходит более гладко, чем в iOS. Так, приложение там строится из небольших блоков. Вам придется их соединять в большой блок самостоятельно.

Фото: Unsplash

Расскажу на простом примере. Если вы хотите шкаф с зеркальными дверцами, то вы отдельно возьмете корпус шкафа, зеркальные дверцы и ручки к нему. И даже если какая-то одна запчасть не подойдет, вы сможете сделать свою, немного изменив и доработав существующую. 

Android — это OpenSource-система. Вы прямо в редакторе кода можете посмотреть, как сделаны стандартные элементы, например, кнопки/списки/переключатели, и писать свой код на основе существующего. В iOS есть большие готовые неразборные блоки (готовый шкаф), и если вдруг вам такой блок не подошел (хотите другой цвет, другой размер) придется выбросить его и строить свой (идти в лес, рубить дерево, строгать доски, красить…).

Но у всего есть обратная сторона медали. К сожалению, некоторые плюсы Android-разработки являются ее же минусами:

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

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

Особенности iOS: плюсы и минусы для разработчика

Перейдем к разработке под iOS — это интересная платформа, которая не стоит на месте. Ее основные плюсы:

  • Определенность в девайсах. Разработчик всегда знает, какие устройства работают, какие версии обновляются, а какие скоро выйдут из эксплуатации. Например, сейчас в ходу iPhone 7-8-10-11, а iPhone 6 уже умер. Параметры экранов и систем известны заранее и проверить, как выглядит приложение на всех девайсах, вполне реально. 
  • Разнообразие подходов к разработке. Каждое устройство линейки Apple — iPhone, iPad, iWatch, Apple TV, Mac OS — требует своего подхода, в связи с чем профессиональное развитие разработчика становится очень интересным.
  • Прозрачность обновлений. Ежегодно Apple совершенствует гайдлайны по разработке приложений под iOS, но не оставляет разработчиков в неведении: объясняет, как заменить текущие элементы кода на более производительные. Кроме того, коммьюнити iOS, хотя пока и немногочисленное, но очень активное и всегда готово помочь.

«После конференции WWDC в ноябре компания презентует новую версию iOS и Xcode. Если обновления к библиотекам и методам не затронули ваши функции, можно спокойно обновить Xcode. Попробуйте собрать проект на новой версии языка, но на отдельном устройстве — после устранения багов вы сможете без проблем перенести код на основное устройство».
Вадим Пустовойтов, преподаватель курса «iOS-разработчик» в «Нетологии», iOS-разработчик мобильных приложений в компании «ТрансТехСервис»

Если говорить о минусах, то самый существенный — высокий порог входа в профессию. Разработчику обязательно нужно иметь технику Apple, а это минимум 100 тысяч рублей из кошелька при покупке нового устройства. Конечно, можно сэкономить в два-три раза, купив модели прошлых серий, но тогда ваша техника должна быть не старше трех лет. 

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

Сколько зарабатывают iOS- и Android-разработчики

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

По данным ресурса «Мой Круг», в среднем начинающие мобильные разработчики с опытом до года получают до 50 тысяч рублей в месяц, от года до трех — до 120 тысяч рублей в месяц, а опыт от четырех лет оплачивается минимум в 160 тысяч рублей по Москве и Санкт-Петербургу.

Фото: Unsplash

В регионах приемлемым уровнем оклада опытного разработчика считается 80-100 тысяч рублей. Так или иначе зарплатный потолок в этой профессии пока не установлен, поэтому все зависит от качеств и навыков конкретного сотрудника. 

Как научиться мобильной разработке

Самый очевидный способ — выбрать специальность программиста в университете. Это позволит получить фундаментальные знания, освоить не только программирование в целом, но и его различные направления. Есть минус: изучить мобильную разработку быстро и сразу приступить к практике вряд ли получится, все-таки обучение сроком в четыре года накладывает свой отпечаток.

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

Поэтому второй вариант — разобраться во всех тонкостях самостоятельно по книгам, учебным материалам в интернете и видео на YouTube. Такой способ больше подходит тем, у кого уже есть какие-то базовые знания в программировании, а также достаточно усидчивости, упорства и терпения. Однако нужно понимать: никто не будет «стоять над вами» и говорить, что вы сделали правильно, а что нет.

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

Новичкам мобильной разработки: как выбрать между iOS или Android

  1. Не нужно гнаться за какой-то конкретной платформой — можно полгода изучать Android, а затем с легкостью переключиться на iOS. Вам не придется выбрасывать все полученные знания. На начальном уровне практически все, чему вы уже научились, будет применимо и к другой платформе. 
  2. Выучите общую терминологию: так вы сможете общаться с любым из мобильных разработчиков. Например, если вы употребите название компонента или архитектуры, используемое в iOS-разработке, скорее всего, вас поймут коллеги из Android-тусовки.
  3. Идите учиться на направление, где у вас есть знакомые. Так вы всегда сможете посоветоваться с более опытным разработчиком или попросить помощи. Например, когда я учился, в городе было комьюнити только Android-разработчиков, что и определило мое начальное направление. 
  4. Специализированные курсы по iOS- и Android-разработке помогут вам быстро освоиться в новой профессии: за несколько месяцев изучить необходимые языки программирования, понять свои ошибки с помощью наставника, попасть в коммьюнити, приступить к практике и начать зарабатывать. Такие курсы есть как при университетах, так и на многочисленных площадках дополнительного образования.

Фото на обложке: Unsplash

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Из большого спорта – в программисты: как серебряный призер юношеских Олимпийских игр в Китае стал разработчиком
  2. 2 От стартапа в Ульяновске до штаб-квартир в Швейцарии и США. История программиста, который зарабатывает на e-commerce
  3. 3 Как программисту прокачать английский

Актуальные материалы —
в Telegram-канале @Rusbase

ВОЗМОЖНОСТИ

25 октября 2020

30 октября 2020