Корутины и Flow в Kotlin

5 участников

О чём курс

О чём курс

Вы примените на практике Kotlin Coroutines — стандарт асинхронного программирования в Android-разработке, Ktor и Spring WebFlux, чтобы быстро стартовать в работе без разбора внутренних тонкостей библиотеки. Вы будете запускать задачи, управлять их жизненным циклом, обрабатывать исключения и тестировать код.

По заявлению автора, программа курса рекомендована российским сообществом Kotlin.

Для кого

Курс рассчитан на разработчиков разного профиля:

  • Android-разработчики, использующие корутины и желающие глубже разобраться в асинхронных процессах;
  • Backend-разработчики на Kotlin, интересующиеся структурированной конкурентностью;
  • Full-stack и multiplatform-разработчики, работающие с каналами и потоками данных;
  • Специалисты, готовящиеся к техническим собеседованиям по Kotlin и Android;
  • Разработчики, переходящие на корутины со стека RxJava.

Что внутри

Обучение охватывает как базовые инструменты, так и продвинутые концепции асинхронности. Рассматриваются билдеры корутин, контексты, диспетчеры, иерархия скоупов и управление жизненным циклом через Job.

Отдельное внимание уделено обработке исключений, тестированию асинхронного кода с помощью kotlinx-coroutines-test, а также работе с каналами. Завершающие разделы полностью посвящены реактивным потокам данных: библиотеке Kotlin Flow, ленивым вычислениям и горячим потокам (SharedFlow и StateFlow).

Формат и требования

Курс включает в себя 54 текстовых урока и 23 теста для самопроверки.

Для успешного освоения программы требуются только базовые знания синтаксиса Kotlin (переменные, функции, классы).

Программа обучения

  • Введение
    • От автора
    • Исторический экскурс
    • Ключевые термины
    • Корутины vs. потоки
  • Быстрый старт
    • Первая корутина
    • Вторая корутина
    • suspend
    • Точки приостановки. delay и yield
  • Билдеры корутин
    • runBlocking
    • launch и async
    • Применение функции select в связке с async
  • Структурированная конкурентность
    • Иерархия корутин. Скоупы
    • CoroutineScope()
    • coroutineScope
    • GlobalScope
  • Контекст корутины
    • Структура контекста
    • Сложение и вычитание контекстов
    • Формула композиции контекстов
    • Примеры создания контекста
  • Диспетчеры
    • Понятие диспетчера
    • Dispatchers.Default
    • Dispatchers.IO
    • Dispatchers.Main
    • Dispatchers.Unconfined
  • Job
    • Определение и жизненный цикл
    • Создание Job
    • Отмена Job
    • Ожидание потомков
    • Распространение отмены по иерархии
  • Обработка исключений
    • Исключения в билдерах и корутин-скоуп функциях
    • Распространение исключений по иерархии
    • SupervisorJob и supervisorScope
    • Обработчик CoroutineExceptionHandler
  • Тестирование корутин
    • Библиотека kotlinx-coroutines-test и функция runTest
    • Виртуальное время
    • Собственный планировщик
    • Тестовые диспетчеры
    • Тестирование исключений
  • Каналы
    • Паттерн producer-consumer. Функции send() и receive()
    • Создание канала
    • Параметры канала
    • Несколько отправителей и получателей
    • Select для работы с каналами
  • Kotlin FLow
    • Ленивые вычисления
    • Понятие Flow. Создание Flow
    • Структура Flow. Операторы
    • Управление скоростью потока
    • Контекст выполнения
    • Обработка исключений в Flow
    • Отмена потоков
  • Горячие потоки данных в Kotlin Flow
    • SharedFlow
    • MutableSharedFlow
    • StateFlow и MutableStateFlow
  • Послесловие
    • Материалы для дальнейшего изучения
Складчина создана 6 сентября 2025 г. · описание обновлено 18 октября 2026 г.

Теги курса

Инструменты

Другие материалы автора 1

ЯС Яна Седова Все материалы
600 ₽ 3 490 ₽