Потребность рынка в специалистах мобильной разработки для 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. Попробуйте собрать проект на новой версии языка, но на отдельном устройстве — после устранения багов вы сможете без проблем перенести код на основное устройство».
Если говорить о минусах, то самый существенный — высокий порог входа в профессию. Разработчику обязательно нужно иметь технику Apple, а это минимум 100 тысяч рублей из кошелька при покупке нового устройства. Конечно, можно сэкономить в два-три раза, купив модели прошлых серий, но тогда ваша техника должна быть не старше трех лет.
Кроме того, чтобы публиковать приложения в AppStore, необходимо ежегодно продлевать доступ к аккаунту разработчика за $99. Но если вы хотите просто научиться программировать без публикации приложений, аккаунт можно не оплачивать.
Сколько зарабатывают iOS- и Android-разработчики
Принято считать, что разработчики на iOS получают больше. На самом деле, заработная плата отличается только у начинающих специалистов. С ростом профессионального уровня размер заработка начинает зависеть уже не от платформы, а от личных качеств и soft skills самого разработчика: умения работать в команде, аргументировать свою точку зрения и брать на себя ответственность.
По данным ресурса «Мой Круг», в среднем начинающие мобильные разработчики с опытом до года получают до 50 тысяч рублей в месяц, от года до трех — до 120 тысяч рублей в месяц, а опыт от четырех лет оплачивается минимум в 160 тысяч рублей по Москве и Санкт-Петербургу.
Фото: Unsplash
В регионах приемлемым уровнем оклада опытного разработчика считается 80-100 тысяч рублей. Так или иначе зарплатный потолок в этой профессии пока не установлен, поэтому все зависит от качеств и навыков конкретного сотрудника.
Как научиться мобильной разработке
Самый очевидный способ — выбрать специальность программиста в университете. Это позволит получить фундаментальные знания, освоить не только программирование в целом, но и его различные направления. Есть минус: изучить мобильную разработку быстро и сразу приступить к практике вряд ли получится, все-таки обучение сроком в четыре года накладывает свой отпечаток.
Выучить синтаксис любого языка программирования с нуля можно за три-шесть месяцев в зависимости от желания и занятости.
Поэтому второй вариант — разобраться во всех тонкостях самостоятельно по книгам, учебным материалам в интернете и видео на YouTube. Такой способ больше подходит тем, у кого уже есть какие-то базовые знания в программировании, а также достаточно усидчивости, упорства и терпения. Однако нужно понимать: никто не будет «стоять над вами» и говорить, что вы сделали правильно, а что нет.
Третий вариант — дополнительные курсы длиной в четыре-шесть месяцев, где вы можете изучить именно то направление, с которым хотите работать дальше. К счастью, подобных курсов сейчас достаточно много, они рассчитаны на разный уровень подготовки, а с вами на связи всегда наставник-преподаватель.
Новичкам мобильной разработки: как выбрать между iOS или Android
- Не нужно гнаться за какой-то конкретной платформой — можно полгода изучать Android, а затем с легкостью переключиться на iOS. Вам не придется выбрасывать все полученные знания. На начальном уровне практически все, чему вы уже научились, будет применимо и к другой платформе.
- Выучите общую терминологию: так вы сможете общаться с любым из мобильных разработчиков. Например, если вы употребите название компонента или архитектуры, используемое в iOS-разработке, скорее всего, вас поймут коллеги из Android-тусовки.
- Идите учиться на направление, где у вас есть знакомые. Так вы всегда сможете посоветоваться с более опытным разработчиком или попросить помощи. Например, когда я учился, в городе было комьюнити только Android-разработчиков, что и определило мое начальное направление.
- Специализированные курсы по iOS- и Android-разработке помогут вам быстро освоиться в новой профессии: за несколько месяцев изучить необходимые языки программирования, понять свои ошибки с помощью наставника, попасть в коммьюнити, приступить к практике и начать зарабатывать. Такие курсы есть как при университетах, так и на многочисленных площадках дополнительного образования.
Фото на обложке: Unsplash
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter
Материалы по теме
- Пройти курс «Интернет-маркетинг для малого бизнеса»
- 1 Из большого спорта – в программисты: как серебряный призер юношеских Олимпийских игр в Китае стал разработчиком
- 2 От стартапа в Ульяновске до штаб-квартир в Швейцарии и США. История программиста, который зарабатывает на e-commerce
- 3 Как программисту прокачать английский
ВОЗМОЖНОСТИ
28 января 2025
03 февраля 2025
28 февраля 2025