Чему вы научитесь - Применять Jetpack Compose при разработке приложений - Работать с анимациями - Разрабатывать приложения с использованием Kotlin Flow О курсе Jetpack Compose - это современный подход к разработке пользовательского интерфейса. С каждым днем он набирает популярность и все больше работодателей хотят видеть в своих компаниях разработчиков со знанием данной технологии. В этом курсе мы с нуля изучим все, что нужно, чтобы начать разрабатывать приложения с использованием Jetpack Compose. По большей части этот курс практический, в нем будет очень мало теории и очень много практики. В процессе прохождения данного курса мы создадим довольно крупное приложение - мобильный клиент VK, в котором будет отображаться лента новостей с возможностью поставить лайк и посмотреть комментарии *Курс еще находится на стадии разработки, поэтому не все темы сейчас присутствуют в курсе, новые уроки выходят примерно раз в неделю. Для кого этот курс Этот курс предназначен для Android разработчиков, как начинающих, так и опытных, которые хотят перейти на новый современный подход к разработке пользовательского интерфейса - Jetpack Compose. Начальные требования Для прохождения этого курса обязательно знание языка Kotlin и основ Android-разработки. Важно, чтобы у вас было хотя бы базовое понимание следующих тем: MVVM, Retrofit, Kotlin Coroutines. Наши преподаватели Андрей Сумин Android разработчик в Лаборатории Касперского, автор множества курсов по Android разработке и языкам Java и Kotlin. После окончания школы я не знал, кем хочу стать, и поэтому вместо учебы решил поработать в сфере торговли. Так я устроился продавцом в магазин электроинструмента. Спустя 3 года работы я стал начальником отдела, и меня стали посещать мысли о том, что я не хочу заниматься этим делом, а уйти куда-то я не мог, так как не имел никакой специальности. В школе мне очень нравилась информатика и меня посетили мысли об изучении программирования. Я поступил в Санкт-Петербургский государственный университет (СПб ГУТ им. Бонч-Бруевича). В нем преподавались очень поверхностные знания в данной области, плюс сильно устаревшие. Тогда я начал изучать программирование самостоятельно, и заметил одну неприятную вещь - практически весь современный и лучший материал был на английском языке, так что перед тем, как стать специалистом в создании приложений для Android мне пришлось выучить английский. Пройдя несколько десятков курсов офлайн и онлайн, проштудировав десятки книг на эту тему, я наконец смог начать реализоваться в новой профессии. Весь процесс занял приличное количество времени – отсюда мое желание помочь таким же людям как я - собрать, обобщить весь материал, структурировать, дополнить теорию практическими упражнениями и провести вас через весь путь от самого начала до создания ваших первых программ. Шаг за шагом вы достигнете поставленной цели. Спойлер: Программа курса Введение 01 Для кого этот курс и что будем изучать? 02 Что такое Jetpack Compose. Краткое введение Основы Jetpack Compose 01 Первое приложение на JC 02 Preview и Column 03 Row, Box, Modifier 04 Instagram Profile Card. Создание шаблона 05 Card 06 Dark-Light Themes 07 Text 08 Image 09 Порядок modifier-ов 10 Завершение работы над InstagramProfileCard 11 VkNewsClient. Создаем шапку поста 12 VkNewsClient. Дорабатываем карточку поста Material Components 01 Введение в Material Components 02 Scaffold и BottomNavigation 03 State и рекомпозиция 04 FAB и SnackBar State и работа в VIewModel 01 Рекомпозиция 02 Добавление VIewModel в InstagramProfileCard 03 Делегаты 04 Слушатели клика 05 Добавление ViewModel в VkNewsClient 06 LazyColumn 07 LazyRow, LazyVerticalGrid 08 Swipe to dismiss 09 Добавляем LazyColumn в VkClient Навигация в Jetpack Compose 01 Навигация без использования библиотек 02 Jetpack Compose Navigation 03 Исправляем баги в навигации 04 Рефакторинг навигации. RememberNavigationState 05 Создание экрана комментариев. Часть 1 06 UDF и создание стейта 07 Навигация на экран комментариев 08 Рефакторинг VIewModels 09 Передача параметров во вью-модель. ViewModelFactory 10 Nested Graph Navigation 11 Fix navigation bugs 12 Передача параметров в JetpackNavigation. Часть 1. Передача Id 13 Передача параметров. Часть 2. Navigation Types 14 Передача параметров. Часть 3. Parcelable, Json, Custom Nav Type ActivityResultApi 01 Deprecated onActivityResult 02 ActivityResultApi 03 ActivityResultApi в Jetpack Compose Работа с VK API 01 Авторизация через VK SDK 02 SideEffect и LaunchedEffect 03 Login Screen 04 Refactoring и хранение токена 05 Загружаем данные 06 Дорабатываем UI 07 Реализация добавления/удаления лайков 08 Подгрузка данных во время скролла 09 Добавление состояния загрузки и реализация удаления элементов 10 Реализация экрана комментариев Coroutine Flow 01 Введение в Coroutine Flow 02 Flow Builders 03 Flow builder and terminal operators 04 Операторы жизненного цикла Flow 05 Map Flow to LiveData 06 AsLiveData часть 2. OnCompletion 07 Использование Flow на Ui-слое 08 Холодные Flow 09 Горячие Flow. MutableSharedFlow 10 Практика MutableSharedFlow 11 Промежуточные и кастомные операторы 12 StateFlow 13 Backpressure и buffer 14 Буфер в горячих flow 15 Операторы ShareIn и StateIn 16 Exception Handling Практика Compose в приложении VK 01 Practice in VkNewsClient 02 Exception handling in VkNewsClient 03 Coroutine Flow in MainViewModel 04 Refactoring. Clean Architecture 05 Dependency Injection in NewsFeedClient 06 Dependency Injection VkNewsClient Part 2 07 Immutable and recomposition 08 Анимации часть 1. AnimateAsState 09 Анимации часть 2. Animation Spec 10 Анимации часть 3. Animated Content Custom Views 01 Работа с Canvas 02 Draw Path 03 Detect Gestures 04 Обзор приложения Terminal 05 Реализация загрузки данных 06 Рисуем график 07 Масштабирование 08 Добавление скролла и рисование свечей 09 DerivedStateOf 10 Custom Saver 11 Remember terminal state 12 Path Effect 13 Draw text 14 Refactoring and bug fix 15 Assist Chip. Time Frames 16 Time Delimiters 17 Продолжение следует