Представитель хостинг-провайдера Eternalhost. Отвечаю на вопросы про хостинг, виртуальные... · 12 июл 2022
Что выбрать начинающему — мобильную или веб-разработку, вопрос очень распространённый, хотя прямые ответы на него обычно крайне субъективны. Принято считать, что кривая обучения веб-разработке немного проще, чем нативная мобильная разработка. Веб-разработка существует уже намного дольше, и поэтому в ней есть огромное количество инструментов, фреймворков, учебных пособий, которые будут очень полезны на первом этапе. К тому же найти работу младшего разработчика только для iOS или Android будет немного сложнее.
Плюсы и минусы мобильной разработки
Чтобы внести ясность в этот непростой вопрос, ниже я разберу основные достоинства и недостатки мобильной разработки с точки зрения новичка.
+ С каждым годом рынок мобильных устройств и приложений для них показывает уверенный рост, поэтому есть огромная перспектива развития в данной специализации.
+ Более высокая зарплата. Конечно оплата труда программиста сильно зависит от его квалификации, но на ранних этапах карьеры мобильные разработчики получают на 15-20 % больше своих коллег иной специализации.
+ Мобильная разработка, особенно в случае iOS, сильно завязана на использование IDE. Это не только автоматизирует процесс, но и помогает новичку выявлять ошибки.
- Отсутствие совместимости языков для разных нативных мобильных платформ (Android и iOS) увеличивает трудозатраты и время разработки.
- К сложностям (или преимуществам — кто как видит) работы мобильным разработчиком можно отнести и необходимость постоянно повышать свою квалификацию. Мобильные платформы постоянно обновляют стек, поэтому специалисты в этой области должны постоянно изучать мануалы, осваивать новые принципы работы с кодом.
- Отсутствие единого языка со строгими определениями и стандартными подходами к запуску и написанию кода вынуждает разработчика мобильных приложений проявлять большую гибкость и творческий подход.
Какие языки изучать для мобильной разработки
iOS (iPadOS, tvOS, macOS, watchOS) — Objective-C и Swift. Они объектноориентированы и позволяют группировать схожие задачи в процессе написания кода, что значительно ускоряет и упрощает работу разработчиков при фронтенд-разработке мобильных приложений. Кроме того, для разработки под iOS желательно быть знакомым с С#, HTML5 и Java.
Android — Java, Kotlin, Python (библиотеки Kivy и BeeWare), С/С++ (пакет Android NDK). Использование С/С++ особенно актуально для высокопроизводительных приложений, вроде мобильных 3D-игр, хотя в этом случае все равно придется прибегать к Java.
Кроссплатформенные приложения — Dart (Flutter). Для работы с компиляторами исходного кода или фреймворками-обертками (вроде Cordova и PWA) потребуется знание таких технологий, как HTML, CSS и JavaScript.