Урок 1: Введение и подготовка окружения

Урок 1: Введение и подготовка окружения

Введение

Jetpack Compose – это способ создания интерфейса для мобильных приложений, использующий декларативный подход. Большинство новых проектов пишутся с применением компоуза и в большинстве вакансий на рынке требуют знание этой технологии.

Однако, навык XML все еще востребован. Так как огромное количество проектов все еще используют его. Более того – крупные проекты не будут переписывать свой код еще многие годы вперед. Во-первых в программировании действует принцип “работает – не трогай”, а во-вторых на это требуется большое количество человеческих ресурсов. Ведь эти проекты должен кто-то поддерживать. Так как периодически что-то ломается, появляются более свежие версии SDK и операционные системы (особенно в Android) и так далее.

Короче, без работы в нашей сфере точно никто не останется. Ну а Compose – это в любом случае наша новая приятная реальность, в которую мы будем с комфортом погружаться. В этом декларативном фреймворке, в отличии от XML подхода (где используется XML для верстки интерфейса), все пишется на Kotlin. И UI, и бизнес-логика.

Но самое интересное, что Compose уже перестал быть чисто “андроидной” историей. С его помощью можно разрабатывать и под iOS, и под десктоп (Windows, macOS, Linux). А благодаря связке с Kotlin Multiplatform вы можете выносить общую логику в единый модуль, а потом переиспользовать ее на разных платформах. Так что при правильном подходе Compose помогает охватить сразу несколько платформ, не жертвуя качеством и скоростью разработки.

Поэтому если вы желаете заниматься разработкой нативных и мультиплатформенных приложений профессионально – учите Kotlin. У меня на канале вы можете найти плейлист с уроками по языку с самых основ. Так что заходите, материалы поддерживаются в актуальном состоянии и можно смело начинать обучение или повторять старое.

Также мы разработали и дообучили собственного виртуального помощника для учебы и работы – AndroidSprint AI Mentor. Фичи регулярно обновляются, подробности будут внутри. Это уникальный инструмент и тренажер, функционал которого выходит за рамки какого-нибудь стандартного ChatGPT. Заходите по ссылке под видео, пробуйте, это интересно.

Требования и объявления

Отлично. Как вы понимаете это организационный (или Onboarding) урок. К практике перейдем немного позже, а сейчас пара слов о требованиях к прохождению текущего материала.

Выше я уже косвенно сравнивал способ реализации интерфейса с помощью языка разметки XML, подразумевая, что вы уже знаете о чем я говорю. В будущем именно в рамках текущей программы мы будем сравнивать верстку с XML чуть более углубленно. Исключительно, чтобы лучше понять концепцию Jetpack Compose.

Следовательно, желательно, чтобы вы уже имели представление об этом методе создания UI и об устройстве Android проекта в целом. Так как здесь будем разговаривать исключительно про фреймворк. По введению в XML и Android в целом у меня также есть отдельный плейлист. А материалы по изучению Android с полного нуля сразу на Compose доступны на платформе AndroidSprint.ru. Если вдруг пока их не видите – можете зарегистрироваться и на почту придет оповещение.

Toolbox App

Перейдем к настройке окружения. Мы работаем в AndroidStudio, в ее последней стабильной версии. В очередной раз призываю пользоваться утилитой Toolbox App для установки и обновления продуктов JetBrains. Важно поддерживать софт в актуальном состоянии.

Если с официального сайта у вас по какой-либо причине программа не качается, под видео оставлю ссылку на установочные файлы на своей страничке. Скачивайте под свою операционную систему тулбокс, обновляйтесь, устанавливайте нужный продукт.

Также там будет вот эта страница Android Studio на сайте документации Google: https://developer.android.com/studio. На всякий случай тоже оставил под видео.

Запуск проекта

Давайте запустим среду разработки и создадим новый проект.

  • На первом месте нам предлагается выбрать темплейт с пустой Activity, на которой на нас смотрит огромный значок компоуза – берем.
  • Далее красиво и понятно называем проект, у меня это будет AndroidSprintComposeApp.
  • добавляю свой уникальный package name
  • Min SDK оставляю 8.
  • Язык конфигурации Gradle — естественно Kotlin.

Ну и новая версия поставляется с кастомным лоадером, специально для тех, кто работает сутками.

Жду сборки и индексации. В первый раз это занимает особо много времени, так что не переживайте, за прогрессом можно последить на вкладке Build. Тем временем создам устройство в эмуляторе.

  • Выбираю модель устройства.
  • Далее версию системы, если в данный момент требуемый образ не установлен — скачивается кликом на иконку возле названия.

В целом все, можно запускать проект, как только он будет готов к работе, чтобы проверить, что у нас точно все готово к работе. Возможно понадобится поменять compile SDK или другие настройки по ситуации.

Великолепно, приложение запущено, на экране текст Hello Android. Как он там оказался и все остальное мы обязательно подробно по шагам разжуем далее. Ну а в следующем уроке начнем погружение в устройство декларативного программирования в целом и в детали реализации фреймворка в частности. Но без чрезмерной духоты, только самое необходимое, что вам потребуется для хорошего понимания технологии на текущем уровне.

Бесплатные Telegram-боты для обучения

Практика с проверкой кода и помощью ИИ-ментора

AndroidSprint AI Mentor

Проверяет Pull Request'ы в GitHub, проводит тестовые собеседования с голосом и таймером, помогает разбираться с кодом 24/7

Попробовать ИИ-ментора →

KotlinSprint Bot

22 урока Kotlin, 220 тестов, 120 практических задач с код-ревью

Начать обучение Kotlin →

AndroidSprint Bot

Тесты по Android SDK, Jetpack Compose, архитектуре приложений

Тесты по Android →

Тебе также может быть интересно

Узнать подробнее
Курс AndroidSprint

Глубокое обучение Android разработке с 0 до получения оффера. Только персональная практика с гарантией получения продуктового опыта.

Курс AndroidSprint - Глубокое <strong>обучение Android разработке с 0 до получения оффера</strong>. Только персональная практика с гарантией получения продуктового опыта.
Узнать подробнее
Узнать подробнее
Практикум по Kotlin

Изучение Котлин с 0 для профессиональной разработки. Личный ментор и разбор кода задач через git-flow.

Практикум по Kotlin - Изучение Котлин <strong>с 0 для профессиональной разработки</strong>. Личный ментор и разбор кода задач через git-flow.
Узнать подробнее
Узнать подробнее
Бесплатные уроки по Kotlin разработке

Самостоятельное освоение базы по языку для дальнейшего развития в Android/back-end разработке или в автотестах.

Бесплатные уроки по Kotlin разработке - <span>Самостоятельное освоение базы по языку для дальнейшего развития в Android/back-end разработке или в автотестах.</span>
Узнать подробнее
Узнать подробнее
Onboarding в разработку

Полное обучение Android разработке с нуля до получения оффера. Делаем упор на практику и обратную связь

Onboarding в разработку - <span>Полное обучение Android разработке с нуля до получения оффера. Делаем упор на практику и обратную связь</span>
Узнать подробнее
Узнать подробнее
Обучающий Kotlin телеграм бот (с тестами)

Ваш основной инструмент для изучения основ языка. Бесплатные тесты и практика внутри.

Обучающий Kotlin телеграм бот (с тестами) - Ваш основной <span>инструмент для изучения основ языка.</span> Бесплатные тесты и практика внутри.
Узнать подробнее
Узнать подробнее
Бесплатные уроки по Android разработке

Самостоятельное обучение разработке Андроид приложений. Понятные видеоуроки с разжеванными примерами.

Бесплатные уроки  по Android разработке - Самостоятельное <span>обучение разработке Андроид приложений.</span> Понятные видеоуроки с разжеванными примерами.
Узнать подробнее
Узнать подробнее
Курс по UI/Unit тестированию

Для ручных тестировщиков, которые готовы осваивать автотесты с использованием актуального стека технологий. [в разработке]

Курс по UI/Unit тестированию - Для ручных тестировщиков, которые <span>готовы осваивать автотесты</span> с использованием актуального стека технологий. [в разработке]
Узнать подробнее
Узнать подробнее
Обучающий Android телеграм бот (с тестами)

Бесплатные теоретические тесты для самопроверки. А также информер на практических спринтах по Android.

Обучающий Android телеграм бот (с тестами) - Бесплатные <span>теоретические тесты для самопроверки.</span> А также информер на практических спринтах по Android.
Узнать подробнее