Баннер мобильный (3) Пройти тест

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

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

Разбор

25 июля 2024

Поделиться

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

Содержание

    Рассказываем, какие особенности есть у разных платформ, почему большое количество девайсов на 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.

    По данным statcounter

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

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

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

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

    Арина Мурашева,
    Android-разработчица в такси Maxim

    С 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.

    Примерьте на себя профессию разработчика и другие востребованные специальности на бесплатной онлайн-профориентации «IT-рентген».

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

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

    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

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

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии