Кто такой мобильный разработчик и как им стать
Рассказываем, как стартовать в мобильной разработке и почему без Мака у вас только один путь.
vlada_maestro / shutterstock
Мобильный разработчик — это программист, который пишет приложения для мобильных устройств. К ним относятся не только смартфоны и планшеты, но и умные часы, фитнес-трекеры, электронные читалки, GPS-навигаторы и все остальные штуки с экраном и клавиатурой, которые можно носить с собой.
Большинство носимых устройств работает под управлением Android или iOS. Поэтому мобильные разработчики пишут софт для этих операционных систем.
Немного истории: предсказание Джобса и революция мобильной разработки
Мобильная разработка в нынешнем её понимании возникла в нулевых, после выхода Java Micro Edition и WAP — урезанной версии доступа в интернет. Люди хотели развлекаться в сети, проверять электронную почту, общаться в ICQ — делать всё то же самое, что и на обычных компьютерах, но со своих мобильных телефонов.
Разработчиков было мало, а под каждую модель телефона приходилось писать отдельную версию программы. Не существовало и удобной системы дистрибуции, хотя идею маркетплейса приложений Стив Джобс выдвинул ещё в 1983 году на международной конференции по дизайну в Аспене.
В выступлении «Будущее уже не то, что раньше» Джобс сравнил распространение программ с музыкальными магазинами: человек приходит, берёт бесплатно демку софта, а потом оплачивает полную версию. Причём всё это удалённо, через телефонную линию с помощью номера банковской карты. «Я пока не знаю, как мы это сделаем, но нам это определённо нужно», — закончил он описание будущего AppStore, который появился только через 25 лет.
Первое время рынок мобильной разработки развивался слабо, но Apple и Google постепенно изменили ситуацию:
- 2007 год — вышел первый iPhone;
- 10 июля 2008 года открылся AppStore;
- 9 месяцев спустя — 1 млрд скачиваний из AppStore;
- 2008 год — появился первый смартфон под Android (через год после iPhone);
- 22 октября 2008 года Google запустил Android Market;
- 2010 год — миллиард скачиваний из Android Market.
В мобильной разработке произошла революция: появился спрос на приложения, система дистрибуции и удобные способы монетизации. Телефоны перестали быть просто звонилками — их новые функции надо было как-то использовать.
Перспективы мобильной разработки в цифрах
Мобильных разработчиков нужно всё больше. По данным международной системы аналитики Statcounter, в апреле 2020 года доля мобильного трафика составляла 57%, хотя еще в 2012 году не превышала 14%. Маркетплейсы тоже растут: в первом квартале 2020 года Google Play предлагал 2,5 млн приложений, AppStore — 1,8 млн (по данным Statista.com).
Вероятно, всё это надолго. Уже появляются док-станции для смартфонов: ноутбук без процессора, превращающий смартфон в полноценный компьютер или компактный настольный девайс, к которому можно подключить смартфон, монитор и клавиатуру с мышью. Два таких проекта — Mirabook и NexDock — получили краудфандинговые инвестиции, а Samsung запустил свою линейку DEX Station.
Какие языки используют для мобильной разработки
В мобильной разработке есть специализация по платформам и языкам программирования. Но строгого разделения на фронт и бэк, как в вебе, здесь нет — программисту нужно уметь работать и с интерфейсом, и с внутренней логикой приложения.
Под Android и iOS можно писать приложения практически на любом языке программирования: C/C++, Fortran, ассемблер, Python, JavaScript. Но есть и официально поддерживаемые языки, которые позволяют использовать все возможности мобильной операционной системы и получать моментальный доступ к новым функциям. Для iOS это Objective-C и Swift, а для Android — Java и Kotlin.
Сейчас Apple советует писать на Swift, а Google агитирует всех за Kotlin. Причина в том, что Swift появился в недрах Apple — он изначально создавался как базовый инструмент мобильной разработки, который закрывает все недостатки «старичка» Objective-C. А Kotlin, наоборот, приглянулся командам Android-разработчиков и сначала получил поддержку «снизу». Отвечая на их просьбы, Google в 2019 году назвал Kotlin языком № 1 для Android.
Как новичку выбрать платформу для мобильной разработки
Минимальная база для старта в профессии — знание языка программирования и среды разработки. В iOS лучше начать со Swift и Xcode или AppCode, а в Android — с Kotlin и Android Studio. Если пишете в одиночку, желательно хоть немного разбираться в стандартах дизайна и разработки под эти платформы. Но в любом случае придётся глубоко зарываться в официальные руководства.
Вот базовый набор инструментов для старта в Android-разработке, который можно установить для Windows, Linux или MacOS:
- Среда разработки Android Studio (уже включает Kotlin). Инструмент бесплатно загружается с developer.android.com.
- Java Runtime Environment (Kotlin основан на Java, поэтому использует её компилятор). Скачать можно с java.com.
Набор для старта в iOS-разработке:
- Компьютер Macintosh. На других платформах не получится полноценно делать приложения под iOS.
- Среда разработки: Xcode или AppCode. Скачать можно с developer.apple.com и jetbrains.com.
Если нет Мака, но попробовать очень хочется, есть три простых варианта:
- GNU/Linux с установленным Swift (есть официальные пакеты под Ubuntu, CentOS и Amazon Linux; скачать можно на официальном сайте языка), текстовый редактор вроде mousepad или gedit, компилятор clang и набор инструментов для работы с Unicode — libicu-dev.
- Windows с неофициальным пакетом Swift for Windows и текстовым редактором вроде Notepad++ или Brackets. Пакет выложен на GitHub.
- Готовая сборка MacOS для виртуальной машины с торрентов (например, под Virtualbox).
Но все-таки лучше использовать Мак, потому что MacOS на виртуалке — это нарушение лицензии Apple. А без неё можно только пробовать писать программы на Swift под Windows и Linux, но полноценно собрать приложения не получится.
Где требуются мобильные программисты
Если коротко, то везде. Мобильные приложения делают для любых задач: календари, почта, заметки, игры, мобильный банкинг. Есть даже эмулятор баяна под iOS: щёлкаете по нарисованным на экране кнопкам — наслаждаетесь музыкой:)
Десктопные сервисы и программы тоже не отстают и запускают свои мобильные приложения. В маркетплейсах Google Play и AppStore, например, уже есть 1C Bitrix, Photoshop Lightroom и «Госуслуги». Но мало написать приложение — его нужно постоянно обновлять и поддерживать. Это огромная работа, для которой тоже требуются специалисты.
Но есть и особенно перспективные направления. Ниже — данные за 2019 год.
Игры. Огромная и прибыльная индустрия.
- 33% всех загружаемых мобильных приложений — это игры.
- По итогам 2019 года издатели мобильных игр собрали $68,5 млрд, а к концу 2020 года аналитики Newzoo обещают рост до $76,7 млрд.
- Все сферы бизнеса черпают идеи из GameDev — это передовые технологии и методы работы.
Образование и развлечения. Изучение языков, книги, музыка, путешествия, тренировки, обучающие курсы. Онлайн-образование все сильнее теснит офлайн — люди видят, что это удобно и эффективно. Только за 2019 год объём рынка интернет-обучения вырос на 60%. И это не однократный рост — тренд продолжится.
Банки и финансы. Все банки уже пришли в смартфоны. Например, в приложении «Точка-банка» можно открыть и закрыть счёт, а в мобильном Сбербанке — выпустить физическую или виртуальную карту. Даже «Система город», у которой много офлайн-точек для оплаты коммуналки, уже есть в мобильных.
Это интересная и сложная отрасль. Начинающему разработчику попасть в неё не всегда реально, но грамотным специалистам финтех рад.
Электронная коммерция.
- В мире 63% покупок в ecommerce уже сейчас идёт с мобильных устройств — данные международного маркетингового агентства Wolfgang Digital.
- Россияне за 2019 год потратили 1 трлн рублей через смартфоны и планшеты.
Так что потребность в мобильной разработке с годами только растёт — это гигантский рынок с большими оборотами.
Сколько зарабатывает мобильный разработчик
Зарплатная вилка Android-разработчика по данным hh.ru на конец июня 2020 года:
- Начинающему специалисту с минимальным опытом (джуниору) предлагают зарплату от 35–40 тысяч рублей.
- Опытный специалист (мидл) получает сильно больше — от 100 тысяч.
- Высококлассный разработчик (синьор) и руководитель команды разработчиков (тимлид) — в среднем от 180 тысяч, но есть вакансии и за 400–500.
Кроме языка программирования, требуется знание Git и специальных библиотек: RxJava, Dagger, Android Architecture Components.
Зарплатная вилка iOS-разработчиков по данным hh.ru на конец июня 2020 года:
- Стажёрам совсем без опыта предлагают 20–30 тысяч рублей.
- Джуниорам платят уже от 40 тысяч.
- Мидлам — в районе 100 тысяч рублей.
- Синьорам и тимлидам — 150–200 тысяч.
Обычно в вакансиях требуют знание библиотеки RxSwift.
Как стать мобильным разработчиком за семь шагов
Вот дорожная карта: на входе — новичок, на выходе — деньги, слава и крутые задачи.
- Освоить Kotlin/Swift: начать писать код, понять простые алгоритмы и функции, разобраться с терминами, закодить несколько простых программок.
- Изучить основы Android SDK / Apple Development Guidelines и написать маленькое простое приложение.
- Сверстать пару прототипов в Figma, Adobe XD или Sketch.
- Опубликовать приложение в Google Play / AppStore.
- Разобраться с системой управления версиями Git и собрать в нём портфолио.
- Написать резюме, показать его знакомым IT-рекрутерам и практикующим разработчикам, внести правки. Рассылать, проходить собеседования, работать над ошибками.
- Profit!
Конечно, всему этому можно учиться самостоятельно — по книгам, видео и мануалам. Но это трудный и долгий путь, особенно для новичков в программировании. Гораздо эффективнее стартовать с опытными наставниками и постоянной обратной связью.