Рейтинг@Mail.ru
Мобильный разработчик

Мобильный разработчик: самый модный программист

Разработчикам мобильных приложений приходится одновременно быть и программистами, и дизайнерами. Эта сфера — одна из самых модных и перспективных в IT. Именно в мобильной разработке появляются главные новинки будущего, такие как жестовый и голосовой интерфейс.

Реальные герои

Павел Осипов
руководитель iOS-разработки проекта Облако Mail.Ru
Рустам Кильдиев
мобильный разработчик Mail.Ru Group
Николай Морев
iOS-разработчик Mail.Ru Group

О профессии

Первыми знаковыми для развития мобильных разработок приложениями стали мессенджеры, в России — ICQ. Люди начали покупать телефоны, на которых можно было устанавливать эти приложения. Из этого вырос рынок. Сначала платформа не была стандартизована, iOS тогда еще не существовало, Android был «никакой», — зато существовала Java. Скачок произошел с появлением iOS и развитием Android. Apple сделали большой шаг, создав первый iPhone и платформу, которая в принципе придумана не для того, чтобы звонить. Но пользователям нужна была альтернатива, и Android подхватили эту идею. Тогда и началось бурное развитие целой индустрии мобильных разработок.

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

Мобильному разработчику приходится постоянно заботиться о производительности приложения и ресурсах, которые оно потребляет. В обычном программировании десктопных приложений сейчас практически нет проблем с производительностью, так как современные компьютеры обладают достаточной мощностью. В случае с мобильными приложениями это не так. И дело даже не в визуальных «тормозах», как называют это мобильные разработчики, а в том, сколько ресурсов батареи «съедает» приложение. Эту тему очень любят производители и блогеры: если телефон держит заряд хотя бы на час больше, это представляется как сенсация. Разработчику об этом также приходится думать — и тратить кучу времени на то, чтобы сэкономить какие-то 5-10 минут зарядки.

В последнее время в мобильной разработке появились хорошие подробные «гайдлайны» — описания того, как должны выглядеть различные элементы в мобильных приложениях. Поэтому с дизайном стало гораздо проще — достаточно следовать стандартам и гайдланам. В iOS стандарты появились давно, и они довольно жесткие. Для Android’а стандарты возникли недавно. Например, делать кнопочки в виде овала или эллипса не принято: это сразу вызывает нарекания. Для Apple такое приложение вообще не выпустят, для Android — напишут замечание.

Пользователи мобильных приложений часто оставляют оценки и отзывы в App Store и Google Play. Мобильные разработчики, как правило, пристально следят за оценками своих приложений и отзывами пользователей о них, поскольку это напрямую влияет на рейтинг и количество скачиваний. Хороший разработчик должен конструктивно воспринимать критику, видеть за негативными отзывами конкретные проблемы и уметь их решать.

Языки программирования

Apple iOS
Apple iOS
Objective-C, Swift
Google Android Java
Google Android
Java, Scala
Windows C++
Windows Mobile
C#, VB.NET

В первую очередь, конечно, мобильный разработчик должен уметь программировать под мобильные платформы. Выбор языков программирования в данном случае диктуют два основных игрока рынка мобильных приложений: платформы iOS и Android.

В случае с iOS до последнего времени самым популярным языком программирования был Objective-C. Сейчас появился Swift от Apple — шикарнейший язык, писать на нём — одно удовольствие. Если раньше в языках были сплошные закорючки, подчеркивания, стрелочки и другие синтаксические «страшилки», то код написанный на Swift, похож на обычный человеческий язык, интуитивно понятен и прост. Даже человек, просто знающий английский, может без проблем понять то, что написано на этом языке.

Основные языки платформы Android — это Java и Scala. Язык Scala называют «Java на стероидах» — он еще функциональнее, чем Java. Некоторые мобильные разработчики Mail.Ru Group пишут приложения именно на Scala.

Тренды и перспективы

Мобильная разработка — это перспективная, активно развивающаяся сфера.

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

В ближайшем будущем развитие, вероятно, будет связано с голосовым и жестовым управлением, без прикосновений. Станет больше интерактивности. Кроме того, появятся новые библиотеки технологий, которые позволят всё это реализовывать. Они есть уже сейчас, но их качество пока остается не очень высоким, так что их развитие не слишком активно афишируется. В случае с iOS это Siri, в случае с Android — «OK, Google».

Если произойдет еще один скачок производительности, то телефон станет универсальным модулем — ключом от автомобиля или квартиры, профессиональным устройством, которое можно будет в любой момент подключить к большому экрану, проектору. Apple уже делает попытки использовать телефон как кредитную карту. До России этот тренд пока не дошел, хотя в московском метро уже можно оплачивать билеты с телефона.

Образование и карьера

Мобильному разработчику обязательно нужно высшее образование. Несмотря на то, что это специфическая работа, для нее нужно быть профессиональным программистом. В вузах нет такого направления, как «Мобильная разработка», так что лучше идти в хороший университет на специальность, связанную с вычислительной техникой и прикладной математикой.

Параллельно нужно посещать курсы по профессии, самому заниматься ею. Такой курс, рассчитанный на 2,5 года, есть, например, в МФТИ: его ведут мобильные разработчики Mail.Ru Group.

  • МГУ
    факультет Вычислительной математики и кибернетики
  • МГТУ им. Н.Э. Баумана
    факультет «Информатика и системы управления»
  • МФТИ
    факультет радиотехники и кибернетики
  • Технотрек Mail.Ru
    программа «Архитектор мобильных сервисов»

Сегодня существуют конкурсы мобильных разработчиков, которые, в основном, проходят в рамках «Хакатонов». Там собираются люди, которые интересуются разработкой и созданием новых продуктов, и в течение двух-трех дней работают в ускоренных темпах, чтобы создать прототип. Участие в таких соревнованиях служит хорошей мотивацией для старта, если вы хотите заняться разработкой, но не знаете, с чего начать. Даже если вы пока не сильны в разработке, при работе в команде любые навыки могут оказаться полезными: например, способность нарисовать пользовательский интерфейс или прототипы, разложить интерфейс по экранам, придумать, где и какие будут кнопки.

Если вы хотите набраться опыта, можно начать с сайтов для фрилансеров. Зачастую именно там компании ищут разработчиков для временной работы, под конкретные задачи: например, для того, чтобы исправить ошибку у существующего iOS-приложения или быстро сделать прототип — минимально работающую версию. Начинающим это может быть даже интереснее, чем постоянная работа, поскольку здесь не нужно привязываться к конкретному продукту, можно быстро всё попробовать, «засветиться» и попробовать разные аспекты разработки. Кому-то нужна навигационная карта, кому-то — общение с пользователями, кому-то — «допилить» функциональность в уже существующей игре. Многие молодые разработчики сначала работают практически бесплатно и зарабатывают себе рейтинг — хорошие отзывы от заказчиков. Когда таких отзывов набирается много, можно самому начать выставлять цену за свои услуги. Или можно пробовать устроиться в крупную IT-компанию.

Жаргон

Десктопный
расположенный на «Рабочем столе» компьютера (от англ. «desktop» — «рабочий стол».
Большое программирование
программирование для компьютеров, а не для мобильных телефонов.
Гайдлайн
описание того, как должны выглядеть элементы в мобильных приложениях.
Тормоза
заметное замедление работы приложения или программы.
Нативный
предустановленный на заводе, "родное" для устройства приложение (от англ. "native" - "родной").

Какой ты герой?

Узнай, какая интернет-специальность подойдёт тебе больше
Пройти тест