Урок 1 из 8 · 20 мин · обновлено
Кто такой Android-разработчик
Чем занимается Android-разработчик, на каком языке пишут приложения, чем нативная разработка отличается от кроссплатформенной, кто работает в команде и где публикуют приложения.
Чем занимается Android-разработчик
Android работает на большинстве смартфонов в мире и в России. Каждое приложение на них — банк, такси, маркетплейс, карты — кто-то написал. Android-разработчик создаёт такие приложения и отвечает за всё, что происходит на устройстве:
- экраны — списки, формы, кнопки, анимации;
- данные — загрузить их с сервера, показать, сохранить в телефоне для работы без интернета;
- возможности телефона — камера, геолокация, уведомления, оплата по NFC;
- качество — чтобы приложение не тормозило, не падало и не разряжало батарею.
Кроме телефонов, Android работает на планшетах, умных часах, телевизорах и автомобильных системах.
Kotlin и Jetpack Compose
Android-приложения пишут на Kotlin. Это современный язык от компании JetBrains: короткий, понятный и защищённый от многих ошибок. Google сделал его основным для Android, и все примеры в официальной документации — на Kotlin. Старые проекты могут быть на Java, её полезно уметь читать.
Экраны сегодня собирают на Jetpack Compose. Интерфейс описывают прямо в коде: «колонка, в ней текст и кнопка». Раньше экраны верстали в отдельных XML-файлах, такой подход встречается в старых проектах.
Нативно или кроссплатформенно
- Нативная разработка — приложение пишут отдельно под Android на Kotlin и отдельно под iOS на Swift. Так получаются самые быстрые приложения с полным доступом к возможностям системы. Так работают банки, маркетплейсы, крупные сервисы.
- Кроссплатформенная — один код для обеих платформ. Самые популярные варианты: Flutter на языке Dart и Kotlin Multiplatform, где на Kotlin пишут общую логику, а иногда и экраны.
Начинать лучше с нативного Android: он даёт понимание, как устроена платформа, а Kotlin пригодится и в Kotlin Multiplatform.
Команда и рабочий день
Над приложением работает команда:
- дизайнер рисует экраны в Figma;
- бэкенд-разработчик делает сервер и API, откуда приложение берёт данные;
- Android- и iOS-разработчики делают приложения для своих платформ;
- тестировщик проверяет их на разных устройствах;
- менеджер продукта решает, что делать в первую очередь.
Обычный день разработчика: взять задачу, например «добавить экран истории заказов», сверстать его по макету, подключить данные с сервера, проверить на эмуляторе и телефоне, отдать код на проверку коллегам.
Готовые приложения публикуют в магазинах: RuStore, Google Play, AppGallery и других. Об этом — в уроке 8.
Попробуйте сами. Возьмите своё любимое приложение и разберите один его экран: что на нём показывается, откуда приходят данные (с сервера или из телефона), что происходит при нажатии на кнопки.
Пример разбора
Экран корзины в приложении магазина:
- на экране — список товаров с фото, ценой и кнопками «+» и «−», итоговая сумма, кнопка «Оформить»;
- данные — состав корзины хранится на сервере, чтобы он был одинаковым на телефоне и на сайте. Фото загружаются по ссылкам из интернета;
- нажатия — «+» отправляет запрос на сервер и пересчитывает сумму, «Оформить» открывает следующий экран.
Так разработчик и смотрит на любой экран: из каких элементов он состоит, где берутся данные и что меняется при действиях пользователя.
Мини-тест: проверьте себя
Закрепите урок: несколько вопросов, разбор ответов — в конце.
-
На каком языке сегодня пишут новые Android-приложения?
Google сделал Kotlin основным языком для Android. Swift — язык для iPhone, C# — для Unity и Windows, PHP — для сайтов.
-
Чем кроссплатформенная разработка отличается от нативной?
Кроссплатформенные фреймворки вроде Flutter экономят время на двух платформах. Нативная разработка даёт полный доступ к возможностям системы.
-
Кто в команде обычно рисует экраны приложения?
Дизайнер рисует макеты в Figma, а разработчик воплощает их в коде так, чтобы приложение выглядело и работало как задумано.
-
Что из этого — задача Android-разработчика, а не бэкенда?
Бэкенд работает на сервере, а мобильный разработчик — на устройстве: экраны, работа с данными в телефоне, связь с сервером.