Код
#статьи

Кто такой мобильный разработчик и как им стать

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

 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.

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.
Окно среды разработки Android Studio

Набор для старта в 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!

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

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована