Как научиться разрабатывать мобильные приложения
Хочешь научиться разрабатывать приложения? Отлично, ведь доход у мобильных разработчиков стартует от 1000$, а все, что нужно для работы – освоить язык Java или Swift, научиться работать с API-сервером, получить навыки создания приложений для iOS и Android… В общем, нужно много всего. Но дорогу осилит идущий, и моя статья поможет тебе сделать первые шаги.
iOS vs Android: что выбрать для создания приложения?
Чтобы сделать правильный выбор, давай сравним обе операционные системы по основным параметрам.
Язык программирования
Android-приложения пишутся на языке Java, а это огромное количество кода. Приложения для iOS создаются на Swift, а он намного легче в освоении, чем Java.
Но не спеши с выбором! Android предлагает неплохую альтернативу – Kotlin. Это новый язык программирования, работающий поверх Java. Разработка на нём интуитивно понятная и обеспечивает высокую читаемость кода.
Пока счет 1:1
Размер экрана и разрешение
Для iOS – разработка дизайна – не проблема, поскольку Apple выпускает ограниченный выбор устройств, а под конкретные размеры всегда легче создавать продукты.
А вот с Android-приложениями будет сложнее. Смартфонов на этой ОС намного больше (80% от общего объема рынка), и все имеют свои формы и размеры. Значит приложения должны адаптироваться под любой из них.
Здесь первенство за iOS. Счет 2:1
Навигация и дизайн
Андроид-приложения состоят из секций, а iOS – из вкладок. Например, на Android устройствах есть кнопка для шага назад, а в iOS ее нет. Поэтому тебе придется мудрить, как сделать так, чтобы переходить с одной страницы на другую.
И еще одно преимущество Андроид – приложения на смартфонах выглядят более реалистично: здесь есть слои, границы, тени. Поэтому счет сравнялся 2:2.
Монетизация
App Store приносит больше прибыли разработчикам приложений, чем Google Play. Но зато в последнем скачивают в два раза больше приложений, чем в устройствах на iOS.
Поэтому счет 3:3. Ничья!
Решение за тобой. Но если ты выберешь кроссплатформенный стандарт, тогда можно вообще не мучиться с выбором.
Кроссплатформенная разработка на React Native или Flutter
Преимущество кроссплатформенных инструментов в том, что они позволяют создавать сразу два приложения одновременно. Гибридные фреймворки React Native и Flutter «подгоняют» приложение под несколько ОС, поэтому тебе не нужно создавать уникальные элементы отдельно для iOS и Android.
Для старта и создания первых простых mobile-приложений кроссплатформенная разработка – то, что нужно. Бери и пользуйся!
А что насчёт PWA?
Хороший вопрос. PWA (progressive web apps) - это web-приложения, которые можно сохранять на телефон и пользоваться ими как обычными приложениями. С 2018 года они поддерживаются всеми браузерами, а популярность их растет с каждым годом. Обрати внимание на это направление. Потому что прогрессивные web-приложения:
- Загружаются сразу, вне зависимости от качества Интернет-соединения.
- По скорости работы обгоняют обычные сайты.
- Обычно весят не больше 1 мб, что гораздо меньше стандартных приложений.
-
Умеют (как и мобильные приложения):
- Высылать push-уведомления
- Работать с геолокацией
- Работать с камерой и микрофоном
Приложения на базе PWA помогают стимулировать продажи, упрощают поиск товаров и компаний, увеличивают чек… Понятно, к чему я веду? К тому, что заказы на разработку этих приложений есть и будут. Поэтому если ты ищешь перспективное направление в программировании - можешь смело приступать к изучению разработки PWA.
Вместо выводов
Вообще, mobile-разработка очень похожа на веб-разработку (точнее на frontend, об этом я писал здесь). К примеру, умея использовать React для веб-разработки, можно за считанные дни "пересесть" на работу с React Native и уже создавать кроссплатформенные мобильные приложения.
Но опять же – без практики никуда. А что еще важнее - так это возможность получать feedback от кого-то, кто разбирается в теме. Так что очень рекомендую перед началом обучения найти себе такого человека, к которому можно будет обращаться за помощью или советом.
Если среди твоих знакомых никто не нашелся - не беда. Большинство хороших курсов по программированию предоставляют поддержку наставника. Пример: курс по мобильной разработке от Skillbox . Кстати, после прохождения этого курса, тебе даже помогут трудоустроиться 😉