Рассказываем, какие особенности есть у разных платформ, почему большое количество девайсов на Android — это проблема для разработчиков, и как потрениться кодить на Swift, если у вас нет компьютера на macOS. Разбираемся вместе с Android-разработчицей в такси Maxim Ариной Мурашевой.
Чем занимаются мобильные разработчики?
Мобильный разработчик отвечает за все этапы создания приложения: разрабатывает его архитектуру и может сделать интерфейс, тестирует его, выкладывает в AppStore или Google Play, устраняет уязвимости, выпускает обновления. Строгого разделения на frontend и backend, как в вебе, в мобильной разработке нет. Разработчик должен уметь работать как с интерфейсом, так и с внутренней логикой приложения.
Вакансии в мобильной разработке делятся на джуниоров, мидлов и сеньоров, а уровень разработчика зависит в первую очередь от навыков и компетенций.
Сколько получают мобильные разработчики?
Медианная зарплата мобильного разработчика — 140 000 рублей. Начинающие специалисты с хорошим портфолио могут рассчитывать на зарплату от 80 000 рублей. Разработчик на Android c опытом 1–2 года в России получает в среднем около 120 000 рублей в месяц, на iOS — около 130 тыс. рублей.
Android vs. iOS: плюсы, минусы и особенности
Количество устройств
Android лидирует среди операционных систем во всем мире. По данным statcounter на начало 2021 года, доля Android среди мобильных устройств в мире составляет 74,34% (это около 2,5 млрд активных устройств), iOS — 25,29% (около 1,4 млрд активных устройств). По России картина примерно такая же: 73,38% гаджетов на Android, 26,26% — на iOS.

Разнообразие устройств
С одной стороны, разнообразие устройств для Android — это большой плюс, ведь работа для разработчика всегда найдется. Кроме того, чтобы начать работать с этой ОС, никакой дополнительной техники покупать не нужно — писать код можно на любой операционной системе: macOS, Linux или Windows. А вот для разработки на iOS обязательно понадобится техника от Apple.
Но большое количество девайсов на 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.
Что нужно знать iOS-разработчику?
Для разработки на iOS понадобится знание языков Objective-C и Swift. Сейчас в основном кодят на Swift, который считается более функциональным.
Для создания приложения понадобится компьютер с операционной системой macOS. Но даже если его нет, потренироваться кодить на Swift все равно можно. Первый вариант — скачать на официальном сайте языка GNU/Linux (операционные системы на основе ядра Linux и системных библиотек GNU) с установленным Swift (есть официальные пакеты под Ubuntu, CentOS и Amazon Linux). Второй — скачать на GitHub Windows с неофициальным пакетом Swift for Windows. Но для того чтобы собрать приложение, придется купить технику Apple.
С чего начать?
Первые шаги в мобильной разработке выглядят примерно так:
- Освоить один из языков программирования. В зависимости от ОС это Java/Kotlin или Objective-C/Swift.
- Изучить Android Developer Guides или Apple Development Guidelines и попробовать написать простое приложение.
- Сверстать пару прототипов в онлайн-сервисе для разработки интерфейсов и прототипов, например Figma, Adobe XD или Sketch.
- Опубликовать приложение в Google Play или AppStore.
- Собрать и разместить портфолио на GitHub.
Всему этом можно научиться на наших курсах: iOS-разработчик и Android-разработчик.
Сложно ли перейти с одной на другую платформу?
Это возможно, но многое все равно придется учить заново. Например, осваивать профильный язык программирования.
Полезные ссылки
- Для новичков у Android есть курсы для разработчиков на официальном сайте и краудсорсинговый гид — подробное руководство по созданию приложений, их дизайну и тестированию.
- Блог разработчиков Android — тут выходят статьи с разбором обновлений и запуска новых функций.
- Гайд Human Interface Guidelines от Apple о принципах дизайна приложений.
- Apple XCode — среда для разработки для iOS.
- Android Studio — среда для разработки для Android.
0 комментариев