Мобильная разработка — это когда вы пишете программы для смартфонов. Вот что это за работа, кто и как ей занимается и сколько на ней можно заработать.
Откуда взялась
Лет 10 назад, если нужно было что-то купить дистанционно, люди заходили на сайты. Сайты продавали товары, через сайты можно было иногда заказать еду, на сайтах были заработки и инфопродукты. Это было не очень удобно, но альтернатив не было: смартфоны были в зачаточном состоянии. Зато у многих были компьютеры с браузерами, и там всё было удобно, красиво и быстро.
Потом смартфоны начали распространяться всё шире, и увидели люди, что это хорошо: можно было покупать товары, сидя на унитазе; заказывать суши, стоя в пробке; записываться на ноготочки, лёжа в массажном кресле. Но чтобы всё это сделать, нужны были какие-то интерфейсы.
Дальше произошло две вещи: компании стали адаптировать свои сайты для экранов смартфонов; и они же стали делать приложения, которые заменят эти сайты.
Кому нужна
В коммерческом смысле мобильная разработка нужна трём типам компаний:
- Тем, для кого смартфон — это витрина: всевозможным магазинам и маркетплейсам, ресторанам, службам доставки, такси и т. д. Огромный рынок розничных товаров и услуг нуждается в мобильных приложениях, потому что это для них канал реализации. Примеры: «Озон», «Тануки», «Беру», «Яндекс.Такси», «Гетт».
- Тем, у кого сотрудники используют в работе смартфоны — например, те же курьеры в службах доставки. Он приезжает, отдаёт товар, нажимает у себя кнопку — вот эту кнопку должен кто-то разработать и поддерживать. Примеры: DHL, всевозможные системы управления складом, информационные системы для полиции.
- Тем, кто работает только в «цифре»: электронным курсам, онлайн-играм и т. д. У них в принципе весь продукт — это пиксели на экране, и для них мобильное приложение может быть одним из главных способов распространения. Примеры: социальные сети, онлайн-кинотеатры, учебные платформы, любые мобильные игры.
Рынок довольно большой, спрос на разработчиков есть.
Какие языки нужны для разных платформ
Android. Так как это открытая операционная система, то есть много языков, которые можно использовать в мобильной разработке:
- Java — заработает вообще на любом андроиде;
- Kotlin — почти так же, но есть нюансы;
- С# — берёте Xamarin и начинаете программировать;
- HTML+CSS — делаете сайт, заворачиваете его в программу с помощью Cordova или Phonegap и получаете готовое приложение;
- React Native — знакомый JavaScript в новой упаковке.
iOS. Здесь всё проще:
- Swift — родной язык для iOS-приложений;
- Objective-C — если вам по каким-то причинам не нравится Swift (или вы ретроград);
- С# — да, на нём можно писать одновременно для разных систем, но нужно учитывать различия в интерфейсе и встроенных функциях.
Оговорочка: самые быстрые приложения для Android будут на Java, а для iOS — на Swift. Но они же и самые сложные в изучении. А всякие новомодные обёртки для JavaScript — это будут тормоза и костыли. Работать будет, но медленнее, чем хотелось бы.
Требования к железу
Заниматься мобильной разработкой можно на любом компьютере или ноутбуке, где запускается нужный вам редактор кода. Единственное, на что влияет железо, — на скорость сборки или компиляции готовой программы.
Важный момент: если вы хотите писать приложения для iOS, то вам нужен компьютер Apple или придётся установить MacOS на виртуальную машину под Windows. Если будете использовать виртуалку, приготовьтесь к тому, что иногда что-то не будет работать: драйвера, нужные библиотеки или компоненты операционной системы.
Два подхода к разработке
Есть два подхода к созданию программ: классический и MVP.
Классический подход — это когда приложение придумывают и делают от начала до конца, в полном объёме, месяцев за 6–12. Сначала придумывают все экраны, потом разработчики их реализуют, долго тестируют на всех платформах и выпускают. Плюс в том, что приложение сразу получается клёвым и большим. Минус — за время, пока ты его делал, мир мог измениться, и теперь это приложение никому не нужно.
MVP — это минимальная версия программы, которая содержит только самое нужное для старта. Например, если мы пишем программу для подсчёта шагов, в MVP будет входить сам счётчик и простой вывод шагов на экран. Возможно, это будет выглядеть не так красиво, как хотелось бы, зато можно сразу проверить работу приложения в реальных условиях. А дизайн можно и потом обновить, когда будет готово всё остальное. Плюс в том, что можно быстро реагировать на обстановку в мире. Минус — нельзя точно рассчитать, сколько в итоге будет стоить всё приложение.
Что по зарплате
По данным Хабр Карьеры, за первое полугодие 2020 года зарплаты у мобильных разработчиков такие:
- джуниор — 64 тысячи рублей,
- мидл — 119 тысяч,
- сеньор — 185 тысяч.
Если интересно, сравните их с зарплатами джуниора, мидла и сеньора в других направлениях программирования.