Мобильная разработка

Учебник Kotlin и Android-разработка для начинающих

21 урок · 6 разделов · бесплатно, без регистрации

Полный путь в мобильную разработку на Kotlin и Android. Курс начинается с основ языка — переменных, null-безопасности, функций и коллекций — и доводит вас до архитектуры реального приложения на Jetpack Compose.

Вы освоите объектно-ориентированное программирование на Kotlin, декларативный UI с состоянием и рекомпозицией, дизайн-систему Material 3, связку ViewModel и StateFlow, асинхронность на корутинах, работу с сетью через Retrofit и локальной базой Room, а также навигацию между экранами. Весь материал опирается на актуальные практики Kotlin 2.x, компилятора K2 и современного Compose.

Курс «Kotlin и Android-разработка» состоит из 6 разделов и 21 урока: Основы Kotlin, Управление и коллекции, ООП в Kotlin, Введение в Android, Jetpack Compose и Данные, сеть и навигация. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

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

  1. 1 Основы Kotlin

    1. Что такое Kotlin и почему его выбрал Google

      Знакомство с Kotlin 2.x, компилятором K2 и причинами, по которым язык стал основным для Android.

    2. Переменные, типы и null-безопасность

      val и var, базовые типы, вывод типов и работа с nullable-типами в Kotlin.

    3. Функции, лямбды и функции высшего порядка

      Объявление функций, параметры по умолчанию, выражения-функции, лямбды и функции высшего порядка в Kotlin.

    4. Условия и циклы: if, when, for, while

      Управляющие конструкции Kotlin: if как выражение, мощный when, диапазоны и циклы for/while.

  2. 2 Управление и коллекции

    1. Коллекции: List, Set, Map

      Списки, множества и словари в Kotlin, изменяемые и неизменяемые коллекции, базовые операции.

    2. Операции над коллекциями: map, filter, reduce

      Декларативная обработка данных: map, filter, forEach, sortedBy, groupBy и цепочки операций.

    3. Исключения и обработка ошибок

      try-catch как выражение, исключения в Kotlin, runCatching и Result для безопасной обработки ошибок.

  3. 3 ООП в Kotlin

    1. Классы, объекты и конструкторы

      Объявление классов, первичный и вторичный конструкторы, свойства, init-блоки и создание объектов.

    2. Data-классы и sealed-классы

      Классы данных с автоматическими методами, копирование через copy, деструктуризация и sealed-иерархии для моделирования состояний.

    3. Наследование, интерфейсы и абстракция

      Открытые классы, наследование, переопределение, абстрактные классы и интерфейсы в Kotlin.

  4. 4 Введение в Android

    1. Как устроено Android-приложение

      Структура Android-проекта, манифест, ресурсы, Gradle и компоненты приложения в эпоху single-activity и Compose.

    2. Жизненный цикл Activity

      Колбэки onCreate, onStart, onResume, onPause, onStop, onDestroy и почему понимание жизненного цикла критично.

    3. Первое приложение на Jetpack Compose

      Composable-функции, аннотация Composable, setContent, превью и базовые компоненты Text, Button, Column.

  5. 5 Jetpack Compose

    1. Состояние и рекомпозиция

      remember, mutableStateOf, что такое рекомпозиция и как Compose отслеживает изменения состояния.

    2. State hoisting и однонаправленный поток данных

      Подъём состояния, разделение stateful и stateless composable и паттерн unidirectional data flow.

    3. Material 3 и компоновка интерфейса

      Material 3, Scaffold, тема и цвета, modifier-цепочки и базовые компоненты дизайн-системы.

    4. Списки: LazyColumn и отображение данных

      Эффективные списки через LazyColumn и LazyRow, items, ключи и отрисовка коллекций данных.

  6. 6 Данные, сеть и навигация

    1. Корутины и асинхронность

      Suspend-функции, корутины, Dispatchers, structured concurrency и почему корутины заменили колбэки.

    2. ViewModel и StateFlow

      ViewModel, viewModelScope, StateFlow как источник состояния и collectAsStateWithLifecycle в Compose.

    3. Сеть и базы данных: Retrofit и Room

      Загрузка данных из сети через Retrofit и локальное хранение в Room с suspend-функциями и Flow.

    4. Навигация между экранами

      Navigation Compose, NavHost и NavController, типобезопасная навигация и передача аргументов между экранами.