О курсе

Курс посвящён современному подходу к созданию пользовательского интерфейса в Android — Jetpack Compose. Основной упор сделан на практику: автор предлагает последовательно разбирать компоненты Compose и применять их в учебных проектах. В начале рассматриваются базовые элементы: Preview, Column, Row, Box, Modifier, Card, Text, Image, темы оформления. Затем изучаются Material Components, управление состоянием и рекомпозиция, работа с ViewModel, списки LazyColumn и LazyRow, а также навигация с помощью Jetpack Compose Navigation, включая передачу параметров и вложенные графы.

Что рассматривается в программе

  • рассматривается применение Jetpack Compose для построения пользовательского интерфейса
  • разбирается работа с состоянием и рекомпозицией
  • изучается навигация в Jetpack Compose, включая передачу параметров
  • рассматривается работа с Kotlin Coroutines Flow, включая StateFlow и SharedFlow
  • разбираются анимации в Compose: AnimateAsState, Animation Spec, Animated Content
  • изучается работа с Canvas, жестами и кастомными View
  • рассматривается архитектура MVI и библиотека Decompose
  • разбирается внедрение зависимостей и рефакторинг с Clean Architecture

Кому может быть полезен курс

  • Android-разработчикам, которые хотят ознакомиться с Jetpack Compose и современным подходом к построению UI
  • Начинающим разработчикам, имеющим базовые знания Kotlin и основ Android
  • Опытным разработчикам, планирующим перейти на Jetpack Compose
  • Тем, кто интересуется практическими примерами построения интерфейсов на Compose

Вопросы о программе

Какие предварительные знания нужны для прохождения курса?

По описанию программы, обязательно знание языка Kotlin и основ Android-разработки, а также базовое понимание MVVM, Retrofit и Kotlin Coroutines.

Какие приложения создаются в ходе обучения?

В материалах курса упоминается создание нескольких учебных приложений: Instagram Profile Card, VkNewsClient (мобильный клиент VK с лентой новостей, лайками и комментариями), Terminal, Weather App.

Какие темы по работе с состоянием и навигацией рассматриваются?

В программе рассматриваются State и рекомпозиция, работа с ViewModel, навигация без библиотек и с Jetpack Compose Navigation, передача параметров, вложенные графы, а также ActivityResultApi.

Уделяется ли внимание анимациям и кастомным View?

Да, в курсе есть разделы по анимациям (AnimateAsState, Animation Spec, Animated Content) и по работе с Canvas, жестами и кастомными View.