Мобильная разработка — одно из актуальных направлений в IT-сфере. По данным Statista, в 2022 году из 7,7 млрд людей на планете смартфоном пользуются более 6,5 млрд. Онлайн-банкинг, шопинг, обучение и игры — всё это доступно в мобильной версии и адаптировано под разные устройства и операционные системы.
За создание этих приложений отвечают мобильные разработчики. Рассказываем, какие задачи решают эти специалисты, сколько они получают и какими навыками должны обладать.
Как появилась профессия разработчика мобильных приложений
Разработчик мобильных приложений — относительно молодая специальность. Она возникла в середине нулевых после выхода новой версии программной платформы Java для телефонов, КПК и плееров — Java 2 Micro Edition. С её помощью мобильные устройства стали поддерживать упрощённые программы вроде мессенджеров и электронной почты.
Примерно в то же время появилась технология WAP (Wireless Application Protocol), которая позволила выходить в интернет с портативного устройства без использования компьютера или модема. Комбинация этих двух новейших технологий дала толчок развитию рынка мобильных приложений.
После выхода первого iPhone в 2007 году и запуска App Store в 2008-м произошла настоящая мобильная революция. Магазин приложений от Apple быстро набирал популярность, и уже через год число скачиваний в нём превысило один миллиард.
Вслед за Apple развивать рынок мобильной разработки начала и Google: в конце сентября 2008 года компания презентовала первый смартфон на платформе Android, а ещё через месяц — собственный магазин приложений Android Market, который сейчас называется Google Play. К лету 2010 года он повторил успех конкурента и достиг отметки в миллиард скачиваний.
С тех пор телефоны перестали быть просто средствами связи и превратились в многофункциональные устройства. Спрос на приложения резко увеличился, и мобильные разработчики стали востребованными специалистами во всём мире.
Чем занимается мобильный разработчик
Мобильный разработчик создаёт приложения для смартфонов, планшетов, умных часов и других мобильных устройств, работающих на платформах iOS и Android. Этот специалист участвует во всех этапах разработки программного продукта ↓
Проектирует приложение, его архитектуру, навигацию и функциональные возможности вместе с остальными членами команды.
Пишет код с помощью языка программирования. Его разработчик выбирает в зависимости от типа устройств и задач продукта.
Тестирует и отлаживает приложение. Разработчик ищет ошибки в работе продукта, устраняет их, а также обеспечивает безопасность данных.
Помогает написать техническую документацию, инструкцию по работе с готовым приложением и руководство для пользователей.
Размещает готовое приложение в магазинах App Store, Google Play, Huawei AppGallery, RuStore, Samsung GetApps.
Поддерживает и развивает готовое приложение. Команда продукта продолжает выпускать обновления сервиса, добавляя в него новые функции и развивая уже существующие на основе данных рынка, отзывов пользователей и собственного видения предметной области.
Какие продукты разрабатывает мобильный разработчик
Мобильная разработка условно делится на три направления — iOS, Android и кроссплатформенные решения. Первые два типа относятся к нативной разработке — родной для операционной системы.
iOS-разработчик создаёт и поддерживает мобильные приложения для устройств Apple: iPhone, iPad, Apple Watch.
Android-разработчик создаёт и совершенствует приложения для огромного числа девайсов. Платформа Android отличается бо́льшим, чем у Apple, охватом устройств и демократичностью самой системы.
Кроссплатформенный разработчик, в свою очередь, создаёт продукты, которые могут одновременно работать на разных системах. В основе этой разработки лежит единый исходный код и стек технологий, что снижает стоимость продукта и экономит бюджет компаний. Кроссплатформенная разработка широко представлена в b2e-секторе.
Кроме выбора ОС разработчики могут сфокусироваться на определённом типе приложений. Сервисы доставки еды, онлайн-банкинг, фитнес-приложения и игры — всё это можно найти в магазинах App Store или Google Play. Выделим основные категории:
- Игры. Геймдев занимает собственную нишу среди мобильных продуктов. В этой сфере разработчики создают продукты на любой возраст и вкус: от головоломок для самых маленьких детей до шутеров с насыщенной графикой для взрослых.
- Образование и развлечение. С помощью смартфона можно изучать иностранные языки, заниматься йогой, слушать музыку, смотреть сериалы. За время пандемии спрос на онлайн-образование и развлекательные сервисы вырос, и сфера по-прежнему в тренде.
- Электронная коммерция. Маркетплейсы, приложения супермаркетов и ресторанов, сервисы бронирования отелей и покупки билетов, приложения сайтов по поиску работы и мобильный банкинг — разработка этих продуктов для ecommerce пользуется большим спросом как в России, так и за рубежом.
Что должен знать и уметь мобильный разработчик
Каждое направление мобильной разработки — Android, iOS и кроссплатформенная — требуют от специалистов определённых профессиональных навыков.
Какие хард-скиллы нужны Android-разработчику
Язык программирования Kotlin. С 2017 года Kotlin — официальный язык программирования для Android в дополнение к Java и С++. Этот язык обеспечивает повышенную производительность, интуитивный и последовательный синтаксис и высокую скорость кодирования.
Android Studio — комплекс программных средств, которые разработчики используют для создания софта. Это официальная среда программирования для системы Android. С её помощью разрабатываются приложения для смартфонов, планшетов, Android Wear, Android TV и Android Auto.
Android Studio поддерживает языки программирования Java, С++, Kotlin, содержит шаблоны основных макетов и компонентов Android, предлагает возможности для взаимодействия с другими приложениями. Платформа доступна для Windows, macOS и GNU/Linux.
Android SDK — универсальный набор инструментов для создания ПО под конкретную версию операционной системы.
Какие профессиональные навыки требуются iOS-разработчику
Язык программирования Swift. Это основной язык для iOS, который появился в 2014 году и отличается простотой, лаконичностью синтаксиса и высокой производительностью.
Xcode — среда разработки ПО под экосистему Apple. С её помощью разработчики пишут и проверяют код, запускают программы, описывают интерфейсы и их связь с кодом.
Xсode предназначена для операционной системы macOS, но при этом продукты, созданные с её помощью, можно запускать и на iOS. Xсode поддерживает языки программирования Swift, Objective-C, C, C++, AppleScript, Python, Ruby и Java.
iOS SDK — набор инструментов для разработки приложений под iOS и iPadOS. С его помощью можно создавать, устанавливать, запускать и тестировать ПО в симуляторе iOS и на физических устройствах.
Какие знания пригодятся кроссплатформенному разработчику
Языки программирования:
- C# — один из наиболее востребованных и простых языков программирования. Используется во фреймворке Xamarin, который разработала компания Windows.
- Dart — язык программирования общего назначения от Google, существующий с 2011 года. Он задействован в работе фреймворка Flutter. Dart отличается простотой в освоении и высокой производительностью.
- JavaScript — один из самых популярных языков в мире. Его используют для создания кроссплатформенных мобильных приложений и интерактивных веб-страниц. JavaScript применяется во фреймворке React Native.
В зависимости от выбранного языка нужно освоить определённые фреймворки:
- Xamarin — платформа с открытым исходным кодом для разработки приложений высокой производительности для iOS, Android и Windows. Этот фреймворк позволяет использовать 90% кода приложения без изменений на разных платформах, однако он применяется редко.
- С помощью Kotlin Multiplatform Mobile можно работать над единым исходным кодом для Android и iOS. Отдельный код понадобится только при разработке определённых функций, например, при создании собственного интерфейса. Платформа работает с языком программирования Kotlin.
- Flutter — постоянно обновляемая платформа, созданная Google. В её основе — язык Dart. Несмотря на то что этот фреймворк использует общий для iOS и Android код, для конечных пользователей продукт ничем не отличается от нативного приложения.
- React Native поддерживает Android, iOS, macOS, Web и Windows. Это фреймворк с открытым исходным кодом, который использует язык JavaScript. React Native сейчас мало распространён, но его сравнительно просто осваивать.
Хард-скиллы, необходимые всем мобильным разработчикам
GIT — распределённая система контроля версий проекта. С помощью этого инструмента можно хранить все версии редактируемых документов и возвращаться к каждой из них в любое время.
Знание английского языка. Этот навык нужен для понимания базовых терминов, понятий и конструкций, которые фигурируют в языке программирования, а также для чтения технической документации и инструкций.
Софт-скиллы мобильного разработчика
Коммуникабельность. Разработчик мобильных приложений должен уметь договариваться и презентовать себя или свой проект, доносить свою позицию и находить компромиссы. Разработка продукта — коллективный труд, поэтому специалисту важно уметь эффективно взаимодействовать с коллегами.
Аналитический склад ума. Навык поиска и анализа информации, умение быстро справиться с задачей и принять решение очень важны для мобильного разработчика. Качественный продукт требует структурированного и легко поддерживаемого кода, поэтому специалисту нужно следить за всеми мелочами и выстраивать чёткую структуру приложения.
Дисциплинированность и ответственность. Способность соблюдать дедлайны, не допускать скопления задач, правильно планировать время и расставлять приоритеты — всё это поможет специалисту работать более эффективно и не подводить заказчиков и коллег.
Креативность и гибкость. Специалист в мобильной разработке должен подходить к рабочим задач с творческой стороны, придумывать нестандартные решения в ответ на новые условия.
Как новичку выбрать платформу для мобильной разработки
На старте карьеры мобильному разработчику нужно выбрать, с какой операционной системой он будет работать в дальнейшем — с Android или iOS. Это обусловлено тем, что:
- для работы с разными операционными системами нужна разная техника;
- каждая из этих платформ требует знания определённых языков программирования и инструментов.
Android-разработчики более востребованы, чем специалисты, работающие с iOS, — это объясняется высоким спросом на относительно недорогие Android-устройства. По данным StatCounter, в июле 2022 года почти 72% всех мобильных девайсов в мире работают именно на этой операционной системе, в России эта цифра стремится к 78%. Помимо прочего, многие эксперты считают, что iOS будет постепенно сокращать своё присутствие в России.
Для разработчика, выбравшего это направление работы, есть и другие преимущества:
Нет необходимости покупать дорогостоящую технику для работы вроде Mac или iPhone.
Язык программирования Kotlin, с которым работают Android-разработчики, можно использовать при написании веб-приложений и игр для ПК.
Есть у профессии и недостаток — нишевость языков и технологий. Знания мобильной разработки мало помогут, если специалист захочет перейти во frontend- или backend-разработку.
Несмотря на то что пока в процентном соотношении продуктами Apple пользуется меньшее количество людей, разработка приложений для iOS не менее интересное направление.
Плюсы в работе iOS-разработчика:
У Apple определённое количество версий устройств, их функций, размеров экрана и самой ОС. Благодаря этому работа идёт оперативнее, а значит и результат виден быстрее.
Это направление менее конкурентно — iOS-разработчиков не так много.
Среди минусов — замкнутость внутри одной экосистемы.
Начинающий IT-специалист может выбрать один из видов нативной разработки, опираясь на свои предпочтения в технике: если он пользуется продуктами Apple, то ему как минимум не придётся покупать новые устройства для работы. Также важный фактор — языки, которые используются для разработки под ту или иную ОС.
Профессионал с опытом в программировании может попробовать себя в кроссплатформенной разработке. Часто клиенты предпочитают именно таких специалистов, поскольку те создают продукты сразу под несколько ОС. К тому же поддерживать такие приложения дешевле, чем развивать две платформы параллельно. Однако чем сложнее продукт и его функциональность, тем труднее сделать его мультиплатформенным.
АЛЕКСАНДР СЫЧЁВ
Руководитель мобильной разработки в СберЗдоровье
Для старта карьеры я рекомендую разработку под Android. Платформа iOS в России будет постепенно сокращать своё присутствие — об этом говорил в том числе министр
цифрового развития РФ Максут Шадаев. Как следствие, спрос на Android-разработчиков будет расти в ближайшие годы и превысит потребность в программистах, работающих с iOS. Это уже сказывается на уровне зарплат: Android-разработчики уровня middle и выше получают офферы с
окладом на 10–15% больше, чем их iOS-коллеги. В дальнейшем это может оказать влияние и на количество проектов.
Некоторые заказчики приостанавливают iOS-разработку мобильных приложений из опасений, что App Store заблокирует российские компании, и не видят перспективы развивать это направление. Приложения под Android менее чувствительны к инфраструктуре и экосистеме, поэтому риски
блокировок на них практически не влияют. Возможно, нишу iOS займет отечественная операционная система «Аврора», если получит должное развитие.
- Узнаете о преимуществах карьеры в мобильной разработке и поймёте, чем отличаются iOS и Android с точки зрения разработчика
- Изучите базовые принципы разработки на Kotlin — главном языке для создания Android-приложений
- Научитесь работать с ключевыми инструментами Android-разработчика и создадите своё первое приложение с нуля
Сколько зарабатывает мобильный разработчик
По данным сайта Работа.ру, средняя зарплата iOS-разработчика по России составляет 108 тысяч рублей в месяц. По Москве цифра заметно выше — 165 тысяч рублей.
Новичкам в iOS-разработке придётся начинать карьеру с более низкой зарплатой. Так, на сайте hh.ru junior-специалистам предлагают вилку от 80 до 120 тысяч рублей:
Более опытные специалисты — middle и senior — могут рассчитывать на зарплату от 150 тысяч рублей и выше:
Средняя зарплата Android-разработчика по России — 110 тысяч рублей, по Москве — 151 тысяча. Специалистам без опыта предлагают за работу от 80 до 150 тысяч рублей:
Продвинутый Android-разработчик может зарабатывать 150–250 тысяч рублей в месяц:
Что почитать мобильным разработчикам
Книги
Head First. Kotlin
Дэвид и Дон Гриффитс
Благодаря этой книги можно узнать о Kotlin практически всё — от азов языка до продвинутых методов разработки. Подход Head First основан на новейших исследованиях в области когнитивистики и теории обучения. Этот метод задействует разные каналы получения информации, увеличивая вовлечённость при изучении материала.
Kotlin. Программирование для профессионалов
Джош Скин, Дэвид Гринхол
Основа книги — популярный курс Kotlin Essentials от агентства Big Nerd Ranch. В издании можно найти полезные примеры и чёткие объяснения ключевых концепций и основополагающих API. Всё это не только знакомит с языком Kotlin, но и учит эффективно использовать его возможности, а также позволяет освоить среду разработки IntelliJ IDEA от JetBrains.
Kotlin в действии
Светлана Исакова, Дмитрий Жемеров
Книга поможет изучить язык программирования Kotlin для разработки высококачественных приложений. Издание охватывает такие темы, как создание предметно-ориентированных языков, функциональное программирование в JVM и совместное использование Java и Kotlin.
Android. Сборник рецептов. Задачи и решения для разработчиков приложений
Ян Ф. Дарвин
В этом сборнике — 230 рецептов для работы с пользовательскими интерфейсами, мультисенсорными жестами, механизмами определения местоположения и веб-службами. Они облегчат создание приложений для ОС Android и помогут освоить размещение продуктов в магазине Google.
Книга станет отличным помощником для всех разработчиков, которые знают язык программирования Java, а также основы платформы Android и интерфейса Java SE API.
Android. Программирование для профессионалов
Кристин Марсикано, Брайан Гарднер, Билл Филлипс и Крис Стюарт
Это издание познакомит с основами разработки на платформе Android: языком программирования Kotlin, модульным тестированием, архитектурным стилем MVVM и использованием среды разработки Android Studio.
На практических примерах авторы книги объясняют, как с помощью языка Kotlin создавать простые и сложные мобильные приложения для разных версий Android.
Swift. Основы разработки приложений под iOS, iPadOS и macOS
Василий Усов
Знакомство с iOS-разработкой молодым специалистам лучше всего начинать именно с этой книги. В ней собраны базовые концепции программирования и основы синтаксиса языка Swift, написанные простым и понятным языком. Кроме того, книгу отличает чередование теории и практики: будет возможность связать абстрактные понятия с реальным кодом.
6-е дополненное и переработанное издание книги Василия Усова вышло только в 2022 году, поэтому она особенно актуальна.
Ресурсы
Официальные сайты для разработчиков Apple и Android — главные помощники для мобильных разработчиков. На них можно найти подробнейшие гайды по разработке для iOS и Android, описание соответствующих языков программирования, примеры кода и другую полезную информацию.
HackerRank — портал, который будет полезен всем разработчикам. Здесь можно попрактиковать навыки кодирования, подготовиться к собеседованию и даже найти работу. Для найма специалистов ресурс используют заказчики со всего мира.
The Android Arsenal — сайт, который содержит полезные инструменты, библиотеки и приложения для разработчиков Android. Можно выбрать бесплатные, платные или демо-версии необходимых продуктов.
RayWenderlich — англоязычный ресурс, на котором есть видеоуроки, книги и статьи о разработке на Swift, Kotlin, фреймворке Flutter. Здесь можно найти более шести тысяч материалов на интересующую тему.
Start Android — настоящий онлайн-учебник по освоению платформы как для начинающих, так и для продвинутых разработчиков. Здесь собраны уроки по изучению Android, есть и блог, в котором можно почитать о различных SDK, API, библиотеках, паттернах и просто интересных кейсах, а также курсы. Автор сайта — Дмитрий Виноградов — Senior Android Developer в берлинской компании.
Swiftbook — сообщество по iOS-разработке. Курсы, форум, документация по Swift — всё это можно найти на этом ресурсе.
Telegram-каналы
«Мобильная разработка» — общий для всех разработчиков ресурс. В нём публикуют актуальную информацию, новости и вакансии для любых специалистов — Android, iOS, кроссплатформенные.
Mobile News — канал о новостях мобильной индустрии. Инвестиции в геймдев, последние релизы, обновления платформ — об этих и других событиях из мира Mobile на канале читают более двух тысяч человек.
«Mobile Dev Jobs — вакансии и аналитика» — канал по поиску работы и найму специалистов. В нём состоят более 17 500 человек. Посты публикуются каждый день, есть вакансии с возможностью релокации.
«iOS Good Reads — swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT» — сообщество iOS-разработчиков. Здесь публикуют новости, лайфхаки, полезные статьи, анонсы профессиональных мероприятий.
Android Good Reads — аналогичный канал для Android-разработчиков. Из последних постов на канале можно выделить анонс Mobile Party в Ozon Tech, новость о релизе обновления Flutter и дайджест самых популярных материалов месяца.
Резюмируем
Мобильная разработка — одна из самых востребованных сфер в IT. Работа в этой области обещает специалисту интересные задачи, конкурентную заработную плату и карьерный рост.
У профессии высокий порог входа, поэтому для того, чтобы стать востребованным iOS-, Android- или кроссплатформенным разработчиком нужно заниматься саморазвитием: учить языки программирования, осваивать инструменты разработки, совершенствовать знания английского языка и практиковать написание кода.
Мнение автора и редакции может не совпадать. Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.