[Stepik] Андрей Сумин ― Jetpack Compose с нуля (2024)
Последнее обновление 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
* Финал
—————————————————————————
🔗 Продажник:
Доступно пользователям: Зарегистрированный
📥 СКАЧАТЬ КУРС:
Для просмотра содержимого вам необходимо Войти или Зарегистрироваться.
🔐 Хотите получить доступ?
Чтобы увидеть скрытые ссылки и ставить лайки, активируйте VIP-статус.
💎 ПОЛУЧИТЬ ДОСТУП Наш Telegram канал