Программа и содержание

Последнее обновление 03.09.2024

Чему вы научитесь:

Применять Jetpack Compose при разработке приложений

Работать с анимациями

Разрабатывать приложения с использованием Kotlin Flow

О курсе:

Jetpack compose - это современный подход к разработке пользовательского интерфейса. С каждым днем он набирает популярность и все больше работодателей хотят видеть в своих компаниях разработчиков со знанием данной технологии.

В этом курсе мы с нуля изучим все, что нужно, чтобы начать разрабатывать приложения с использованием Jetpack Compose. По большей части этот курс практический, в нем будет очень мало теории и очень много практики.

В процессе прохождения данного курса мы создадим довольно крупное приложение - мобильный клиент VK, в котором будет отображаться лента новостей с возможностью поставить лайк и посмотреть комментарии

Для кого этот курс:

Этот курс предназначен для Android разработчиков, как начинающих, так и опытных, которые хотят перейти на новый современный подход к разработке пользовательского интерфейса - Jetpack Compose

Начальные требования:

Для прохождения этого курса обязательно знание языка Kotlin и основ Android-разработки. Важно, чтобы у вас было хотя бы базовое понимание следующих тем: MVVM, Retrofit, Kotlin Coroutines

Программа курса:

Введение

Для кого этот курс и что будем изучать?

Что такое Jetpack Compose. Краткое введение

Основы Jetpack Compose

Первое приложение на JC

Preview и Column

Row, Box, Modifier

Instagram Profile Card. Создание шаблона

Card

Dark-Light Themes

Text

Image

Порядок modifier-ов

Завершение работы над InstagramProfileCard

VkNewsClient. Создаем шапку поста

VkNewsClient. Дорабатываем карточку поста

Material Components

Введение в Material Components

Scaffold и BottomNavigation

State и рекомпозиция

FAB и SnackBar

State и работа с VIewModel

Рекомпозиция

Добавление VIewModel в InstagramProfileCard

Делегаты

Слушатели клика

Добавление ViewModel в VkNewsClient

LazyColumn

LazyRow, LazyVerticalGrid

Swipe to dismiss

Добавляем LazyColumn в VkClient

Навигация в Jetpack Compose

Навигация без использования библиотек

Jetpack Compose Navigation

Исправляем баги в навигации

Рефакторинг навигации. RememberNavigationState

Создание экрана комментариев. Часть 1

UDF и создание стейта

Навигация на экран комментариев

Рефакторинг VIewModels

Передача параметров во вью-модель. ViewModelFactory

Nested Graph Navigation

Fix navigation bugs

Передача параметров в JetpackNavigation. Часть 1. Передача Id

Передача параметров. Часть 2. Navigation Types

Передача параметров. Часть 3. Parcelable, Json, Custom Nav Type

ActivityResultApi

Deprecated onActivityResult

ActivityResultApi

ActivityResultApi в Jetpack Compose

Работа с VK API

Авторизация через VK SDK

SideEffect и LaunchedEffect

Login Screen

Refactoring и хранение токена

Загружаем данные

Дорабатываем UI

Реализация добавления/удаления лайков

Подгрузка данных во время скролла

Добавление состояния загрузки и реализация удаления элементов

Реализация экрана комментариев

Coroutine Flow

Введение в Coroutine Flow

Flow Builders

Flow builder and terminal operators

Операторы жизненного цикла Flow

Map Flow to LiveData

AsLiveData часть 2. OnCompletion

Использование Flow на Ui-слое

Холодные Flow

Горячие Flow. MutableSharedFlow

Практика MutableSharedFlow

Промежуточные и кастомные операторы

StateFlow

Backpressure и buffer

Буфер в горячих flow

Операторы ShareIn и StateIn

Exception Handling

Практика Compose в приложении VK

Practice in VkNewsClient

Exception handling in VkNewsClient

Coroutine Flow in MainViewModel

Refactoring. Clean Architecture

Dependency Injection in NewsFeedClient

Dependency Injection VkNewsClient Part 2

Immutable and recomposition

Анимации часть 1. AnimateAsState

Анимации часть 2. Animation Spec

Анимации часть 3. Animated Content

Custom Views

Работа с Canvas

Draw Path

Detect Gestures

Обзор приложения Terminal

Реализация загрузки данных

Рисуем график

Масштабирование

Добавление скролла и рисование свечей

DerivedStateOf

Custom Saver

Remember terminal state

Path Effect

Draw text

Refactoring and bug fix

Assist Chip. Time Frames

Time Delimiters

MVI. Decompose

Обзор приложения Weather App

Новый подход к Presentation слою

Decompose. Первые компоненты

Decompose. Component Context

Decompose. Введение в навигацию

Decompose. ChildStack и Value

Decompose. Подключение UI

Decompose. Interface Child

Decompose. Interface Root Component

MVI. Store Intent State Label

MVI. ContactListStore

MVI. StoreFactory

MVI. StoreFactory Executor

MVI. StoreFactory финальная реализация

MVI. Bootstrapper

MVI. Создание стора

MVI. LiveTemplates and Logging

Обзор Decompose и MVI

WeatherApp добавление зависимостей

Структура проекта

Domain слой

Работа с интернетом

Вынесение ключа в BuildConfig

Создание Базы данных

Реализация репозиториев

Инъекция зависимостей

FavouriteStore

DetailsStore

SearchStore

Реализация всех компонентов

Assisted Inject

Реализация RootComponent. Часть 1

Реализация RootComponent. Часть 2

FavouriteContent. Часть 1

FavouriteContent. Часть 2

Details Content

Search Content

Финал

ИСТОЧНИК

СКАЧАТЬ