Android-разработка
Android-developer (android-разработчик) - программист, который разрабатывает, обновляет, поддерживает приложения для всех типов устройств на базе ОС Android (смартфоны, планшеты, умные часы и фитнес-браслеты, телевизоры и многое другое). Для разработки используются такие языки как Kotlin, Java, C++ и JavaScript.
Большой обзор онлайн-курсов по Android-разработке — katalog-kursov.ru/courses/android_razrabotchik/
Более 70% рынка мобильных устройств на данный момент занимают устройства на базе Android. В свою очередь появляется потребность в большом количестве приложений. Это означает, что в данной сфере постоянная нехватка разработчиков.
Виды задач Android-разработчика
- Разработка архитектуры приложения;
- Проектирование интерфейса;
- Написание кода, его тестирование и отладка;
- Загрузка готового продукта в Google Play Market или на специализированный ресурс;
- Внесение корректировок и решение проблем выявленных пользователями;
- Выпуск обновлений;
- Осуществление поддержки продукта.
- Знание английского языка на уровне не нижу B1. Это необходимо для поиска необходимой информации и чтения технической документации;
- Знание структуры Android;
- Знание Java, Kotlin, C++ и JavaScript (необязательно все);
- Знание объектно-ориентированного программирования;
- Владение средой разработки Android Studio;
- Знание основ работы с Git и GitHub;
- Умение находить проблему, производить её отладку и тестировать приложение.
В отличие от iOS-разработки, в данном направлении ниже порог входа, проще требования к разработке и больше различных полезных материалов, курсов, технических документаций (в том числе и переведенных на русский язык).
Для полноценного тестирования не нужно покупать кучу устройств, ведь существует много хороших Android-эмуляторов.
Преимуществом также является большой список поддерживаемых устройств, которые я перечислял в самом начале. По сути на Android может работать все, от будильника до “разумного” автомобиля или вовсе космической аппаратуры. Однако такое большое количество устройств является и минусом, т.к. оптимизация приложения под все типы и модели устройств занимает очень много дополнительных сил и времени.