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

Учебник Flutter и Dart для начинающих

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

Полный путь от нуля до собственного мобильного приложения на Flutter и языке Dart 3. Курс построен по принципу прочного фундамента: сначала вы осваиваете язык Dart с его звёздной null-safety и новинками 2025 года — records, паттернами и sealed-классами, — затем переходите к фреймворку.

Вы разберёте дерево виджетов, два базовых типа виджетов и их жизненный цикл, научитесь верстать экраны через Row, Column и списки, оживлять их через setState и современные стейт-менеджеры (Provider, Riverpod), а в финале — настраивать навигацию через go_router и загружать реальные данные из сети с помощью FutureBuilder. Каждый урок содержит наглядные ASCII-схемы, запускаемые примеры логики и проверочные вопросы.

Курс «Flutter и Dart» состоит из 6 разделов и 24 уроков: Основы Dart, Коллекции и ООП, Введение во Flutter, Виджеты и вёрстка, Состояние и Навигация и данные. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

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

  1. 1 Основы Dart

    1. Что такое Dart и Flutter и зачем они вместе

      Знакомство с языком Dart 3 и фреймворком Flutter: зачем они нужны, как связаны и где применяются в 2025 году.

    2. Переменные, типы и null-safety

      Переменные в Dart: var, final, const, базовые типы и звёздная фича языка — sound null-safety с операторами ? и !.

    3. Функции, стрелочный синтаксис и параметры

      Функции в Dart: позиционные и именованные параметры, значения по умолчанию, required и компактный стрелочный синтаксис.

    4. Условия, циклы и switch-выражения

      Управление потоком в Dart: if/else, циклы for и while, тернарный оператор и современные switch-выражения Dart 3.

  2. 2 Коллекции и ООП

    1. Списки, множества и карты

      Коллекции Dart: List, Set и Map — как хранить наборы данных, обращаться к элементам и выбирать подходящую структуру.

    2. Обработка коллекций: map, where, и итерируемые

      Функциональная обработка коллекций в Dart: map, where, reduce, fold и spread-оператор для трансформации данных.

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

      Основы ООП в Dart: классы и объекты, поля и методы, конструкторы с сокращённым синтаксисом this и именованные конструкторы.

    4. Наследование, миксины и абстрактные классы

      ООП в Dart глубже: наследование через extends, переопределение методов, абстрактные классы и переиспользование кода миксинами.

    5. Records, patterns и sealed-классы Dart 3

      Современный Dart 3: records для возврата нескольких значений, деструктуризация через patterns и исчерпывающие sealed-классы.

  3. 3 Введение во Flutter

    1. Всё есть виджет: дерево виджетов

      Главная идея Flutter: всё на экране — это виджет. Как виджеты складываются в дерево и как Flutter превращает его в картинку.

    2. StatelessWidget и метод build

      StatelessWidget — неизменяемый виджет: что такое метод build, роль BuildContext и когда виджет перестраивается.

    3. StatefulWidget и жизненный цикл

      StatefulWidget: внутренняя память виджета, метод setState и полный жизненный цикл от initState до dispose.

    4. MaterialApp, Scaffold и структура экрана

      Каркас Flutter-приложения: MaterialApp, Scaffold, AppBar и body — как устроена типовая структура экрана.

  4. 4 Виджеты и вёрстка

    1. Row, Column и Flex-вёрстка

      Основа вёрстки Flutter: Row и Column, главная и поперечная оси, mainAxisAlignment и crossAxisAlignment.

    2. Container, Padding и отступы

      Контейнеры и отступы: Container, Padding, EdgeInsets, SizedBox и Margin — как управлять размерами и пространством.

    3. Списки: ListView и ListView.builder

      Прокручиваемые списки во Flutter: ListView, ListView.builder для длинных данных и ленивая отрисовка элементов.

    4. Карточки, иконки, кнопки и изображения

      Готовые виджеты Material: Card, Icon, кнопки (ElevatedButton, TextButton) и работа с изображениями Image.

  5. 5 Состояние

    1. setState и поток перестроения

      Как работает setState: поток от изменения данных к перестроению дерева и кадру на экране.

    2. Поднятие состояния и передача данных

      Поднятие состояния (lifting state up): где хранить общие данные, как передавать вниз и поднимать события через колбэки.

    3. Современное управление состоянием: Provider и Riverpod

      Обзор стейт-менеджмента 2025: зачем нужны Provider, Riverpod и Bloc, и как они решают проблему передачи данных через дерево.

  6. 6 Навигация и данные

    1. Навигация между экранами и стек маршрутов

      Навигация во Flutter: Navigator, push и pop, стек маршрутов и передача данных между экранами.

    2. Именованные маршруты и go_router

      Декларативная навигация: именованные маршруты и пакет go_router для глубоких ссылок, параметров и редиректов в 2025.

    3. Асинхронность: Future, async и await

      Асинхронный Dart: Future, async/await, обработка ошибок и почему сетевые операции не блокируют интерфейс.

    4. Загрузка данных из сети и FutureBuilder

      Работа с реальными данными: HTTP-запросы, парсинг JSON, FutureBuilder и отображение состояний загрузки и ошибки.