Android-разработка: за и против

Мобильная разработка под Android привлекает новичков карьерными перспективами. Рассмотрим преимущества и недостатки этого направления.

Мобильный разработчик —  сегодня это одна из наиболее высокооплачиваемых IT-специализаций.

Сравнение медианных зарплат разработчиков разных направлений. Данные «Моего круга» за 2018 год

Смартфоны на Android занимают 80% рынка мобильных устройств. Поэтому, несмотря на то, что iOS-разработчики «стоят» дороже, программисты на Android более свободны в выборе компании и проектов для работы. Рассмотрим плюсы и минусы этой профессии.

Наталья Березовская

Автор в сфере IT, digital, экономики и финансов. Ведет некоммерческий проект для начинающих писателей «ЛитЦех».


9 плюсов разработки под Android

  1. Низкая стоимость разработки и устройств. Для разработки под iOS нужен макбук, который стоит недешево. Писать код под Android можно на любой операционной системе: macOS, Linux или Windows. Сами устройства также стоят в два-три раза дешевле, чем продукция Apple.
  2. Один стек технологий для всех проектов. Новичку нужно освоить один из двух языков, официальную среду разработки и минимум инструментов — для любого нового приложения стек технологий будет один и тот же, даже при переходе в другую компанию. Новичок в той же в веб-разработке сразу столкнется с «зоопарком» инструментов.
  3. Доступность исходников по сравнению с iOS. Большая часть кода Android открыта: вы можете загрузить его на свой компьютер и изучать, как все устроено изнутри. Сам код несложный и разбит на модули. Если что-то в вашем приложении не будет работать, можно найти исходники и разобраться.

    Несмотря на то, что код операционной системы выложен в свободный доступ, многие из её компонентов разрабатываются внутри Google. Некоторые части платформы останутся закрытыми. Например, создателям приложений неизвестно, как работает Play Market изнутри.
  4. Качественно написанная документация. Для Android-разработчиков создано множество чётких руководств, которые упрощают коммуникации между специалистами по всему миру.
  5. Активное сообщество энтузиастов в интернете. Новичок легко получит поддержку на любом этапе своего обучения, придя на StackOverflow и GitHub с вопросом.
  6. Время появления приложения в магазине. В случае с iOS счет идет на недели, тогда как с Android приложение доступно для скачивания в магазине сразу после нажатия кнопки «Опубликовать». Нужно только несколько часов, пока оно разойдется по дата-центрам.
  7. Стоимость размещения приложения. Да, за право размещать собственные приложения в магазинах платформ вам придется заплатить. В AppStore это $100 ежегодно за девелоперскую программу. А в Google Play Market вы платите $25 один раз при регистрации — и на этом расходы заканчиваются.
  8. Java. Ее изучение — это отличный старт для начинающего разработчика, поскольку вы освоите основные концепции ООП, с которыми сможете быстрее изучить любой другой язык. На Java, кроме мобильных, пишут и веб-приложения, а также игры и серверы. Поэтому при желании вы сможете сменить сферу деятельности, не меняя основной инструмент. А вот Swift и Objective-C — специфические языки только для iOS-разработки.
  9. Сферы применения. На Android программируют приложения не только для смартфонов, вы сможете разрабатывать программы для умных часов, Smart TV, VR/AR и найти интересный для себя проект.

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

Недостатки мобильной разработки для Android

  1. Много устройств. Выше мы сказали, что доступность — это плюс. Но обратная сторона медали — необходимость поддерживать приложение для каждой модели смартфонов разных производителей с этой системой внутри. На не очень качественных китайских телефонах приложение может «крашиться» не по вине разработчика, а из-за аппаратных проблем.
  2. Огромное число экранов. Пункт плавно вытекает из предыдущего — большое разнообразие экранов создает дополнительные сложности при разработке. Чтобы решить проблему разного соотношения сторон, нельзя просто взять и растянуть интерфейс приложения. Приходится поддерживать несколько типов экранов и фактически разрабатывать копии.
  3. Несколько версий операционной системы. iOS обновляется ежегодно, и старые версии не получают поддержки — актуальны только последняя и предпоследняя. С Android дела обстоят иначе. Google не может обновлять систему на всех устройствах — это делают вендоры. В итоге актуальны оказываются сразу несколько версий Android. Не все производители быстро обновляют свои устройства, а кто-то не делает этого вообще.
Распределение версий на устройствах. Источник

Все это затрудняет работу специалистам. Если вы договариваетесь с заказчиками приложения, что будете поддерживать только 90% версий, — это уже отлично. Но некоторые требуют поддержку и всех 100%. И это боль разработчика: с каждым обновлением появляются новые API, которые он хочет использовать, но их нет на старых версиях ОС. Эту проблему частично решает библиотека совместимости.

Google на сегодняшний день — монополист, который задаёт тренды в развитии IT. Раньше к «корпорации добра» относились почти с трепетом, сегодня же у разработчиков копятся претензии, а до техподдержки зачастую невозможно достучаться.

Одна из главных проблем — блокировки приложений, а затем и аккаунтов без объяснения причин. На все жалобы в техподдержку разработчики получают стандартный ответ от бота. Причем это касается не только мелких и неизвестных приложений, но и тех, у которых миллионы загрузок. Известны примеры, когда закрывались целые компании из-за автоматического бана приложения, вокруг которого строился весь бизнес.

Сообщение, которое мобильный разработчик не желал бы видеть и в страшном сне

Заключение

Мы рассказали об особенностях операционной системы Android и частично сравнили ее с iOS. Недостатки есть в любых системах и любых языках — и к ним нужно быть готовым. Сейчас на сайте HeadHunter около 4 тысяч вакансий по Android-разработке.

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

Курс

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


Освойте тонкости создания приложений для самой популярной мобильной платформы: изучите архитектурные подходы, популярные библиотеки, Unit- и UI-тестирование. Вместе мы создадим приложение и выложим его в Google Play, даже если до этого вы никогда не программировали!

Хочешь получать крутые статьи по программированию?
Подпишись на рассылку Skillbox