---
title: "Flutter & Dart Roadmap"
date: 2026-03-26
tags:
  - flutter
  - dart
  - mobile
  - roadmap
  - learning
description: "Подробный план изучения Flutter и Dart для опытного разработчика (C#, Go, JS)"
---

# 🚀 Flutter & Dart Roadmap

> **Цель:** Самостоятельно создавать мобильные приложения (iOS + Android)
> **Опыт:** C#, Go, JavaScript — базовые концепции ООП, async, типизация уже знакомы
> **Общая оценка:** ~120–160 часов / 3–4 месяца при 8–10 ч/неделю

---

## 📋 Оглавление

1. [[#Этап 1 — Dart за 1 неделю|Dart за 1 неделю]]
2. [[#Этап 2 — Flutter основы|Flutter основы (2 недели)]]
3. [[#Этап 3 — Навигация и архитектура|Навигация и архитектура (1.5 недели)]]
4. [[#Этап 4 — State Management|State Management (2 недели)]]
5. [[#Этап 5 — Работа с данными|Работа с данными (2 недели)]]
6. [[#Этап 6 — UI мастерство|UI мастерство (1.5 недели)]]
7. [[#Этап 7 — Нативные возможности|Нативные возможности (1 неделя)]]
8. [[#Этап 8 — Тестирование и CI/CD|Тестирование и CI/CD (1 неделя)]]
9. [[#Этап 9 — Публикация|Публикация в Store (1 неделя)]]
10. [[#Этап 10 — Реальный проект|Реальный проект (4–6 недель)]]
11. [[#Ресурсы — Каталог|Каталог ресурсов]]

---

## Этап 1 — Dart за 1 неделю

⏱ **~8–12 часов** | С опытом в C# и JS пойдёт быстро

Dart — типизированный язык, похожий на гибрид C# и TypeScript. Основные отличия: null safety, mixins, extensions, Futures/Streams (аналог Task/Promise).

### Что изучить

- [x] Синтаксис: переменные, типы, `final`/`const`, `late` ✅ 2026-03-26
- [x] Null safety (`?`, `!`, `??`, `?.`) ✅ 2026-03-26
- [ ] Классы, наследование, mixins, abstract classes
- [ ] Extensions (привет, C# extension methods)
- [ ] Enums (enhanced enums с методами — Dart 3)
- [ ] Generics (знакомо из C#)
- [ ] Collections: `List`, `Map`, `Set` + spread operator
- [ ] `async`/`await`, `Future`, `Stream`
- [ ] Pattern matching и sealed classes (Dart 3) — аналог switch expressions в C#
- [ ] Records (аналог tuples/анонимных типов)
- [ ] Error handling: `try`/`catch`/`on`

### Ресурсы

- [ ] 📖 [Dart Language Tour](https://dart.dev/language) — **главный ресурс**, пробежать за 3–4 часа
- [ ] 📖 [Dart Codelabs](https://dart.dev/codelabs) — интерактивные упражнения
- [ ] 🎮 [DartPad](https://dartpad.dev/) — онлайн-песочница для экспериментов
- [ ] 📹 [Dart in 100 Seconds — Fireship](https://www.youtube.com/watch?v=NrO0CJCbYLA) — быстрый обзор
- [ ] 📖 [Effective Dart](https://dart.dev/effective-dart) — стайл-гайд и идиомы

### 🛠 Мини-проект

**CLI-утилита на Dart** — парсер JSON/CSV, конвертер валют через API, или простой todo-list в терминале. Цель: потрогать язык руками.

```bash
dart create my_cli_app
```

---

## Этап 2 — Flutter основы

⏱ **~16–20 часов / 2 недели**

### Что изучить

- [ ] Установка Flutter SDK + настройка IDE (VS Code / Android Studio)
- [ ] Эмуляторы: Android (AVD) + iOS Simulator (если есть Mac)
- [ ] Структура проекта Flutter: `lib/`, `pubspec.yaml`, `assets/`
- [ ] **Widget tree** — всё является виджетом
- [ ] `StatelessWidget` vs `StatefulWidget` + `setState()`
- [ ] `BuildContext` и жизненный цикл виджетов
- [ ] Основные виджеты: `Text`, `Container`, `Column`, `Row`, `Stack`, `ListView`, `GridView`
- [ ] `Scaffold`, `AppBar`, `BottomNavigationBar`, `Drawer`
- [ ] Layout: `Expanded`, `Flexible`, `SizedBox`, `Padding`, `Align`
- [ ] Input: `TextField`, `Form`, `FormField`, валидация
- [ ] Кнопки: `ElevatedButton`, `TextButton`, `IconButton`, `FloatingActionButton`
- [ ] `Image`, `Icon`, работа с assets
- [ ] Material Design 3 и `ThemeData`
- [ ] **Hot Reload** — главная суперсила Flutter

### Ресурсы

- [ ] 📖 [Flutter Get Started](https://docs.flutter.dev/get-started) — офиц. туториал установки
- [ ] 📖 [Flutter Widget Catalog](https://docs.flutter.dev/ui/widgets) — каталог виджетов с примерами
- [ ] 📖 [Flutter Codelabs](https://docs.flutter.dev/codelabs) — пошаговые лабы от Google
- [ ] 📹 [Flutter Crash Course for Beginners — Traversy Media](https://www.youtube.com/watch?v=1ukSR1GRtMU) — 1 час, быстрый старт
- [ ] 📹 [Flutter Full Course — Mitch Koko](https://www.youtube.com/watch?v=TclK5gNM_PM) — от начала до продвинутого
- [ ] 📹 [Flutter Widget of the Week — Google](https://www.youtube.com/playlist?list=PLjxrf2q8roU23XGwz3Km7sQZFTdB996iG) — короткие видео по виджетам
- [ ] 📖 [Flutter Layout Cheat Sheet](https://medium.com/flutter-community/flutter-layout-cheat-sheet-5363348d037e)

### 🛠 Пет-проект: Визитка / Портфолио

Простое приложение-визитка с несколькими экранами:
- [ ] Главный экран с аватаром, именем, описанием
- [ ] Страница с контактами (ссылки, email)
- [ ] Тёмная/светлая тема

---

## Этап 3 — Навигация и архитектура

⏱ **~12–15 часов / 1.5 недели**

### Что изучить

- [ ] `Navigator` 1.0: `push`, `pop`, named routes
- [ ] `Navigator` 2.0 и декларативная навигация
- [ ] **go_router** — стандарт навигации в 2025+ (рекомендован Google)
- [ ] Deep links и параметры в маршрутах
- [ ] Вложенная навигация (Shell routes, tab navigation)
- [ ] Передача данных между экранами
- [ ] Структура проекта:
  - Feature-first vs Layer-first
  - Рекомендуемая: `lib/features/<name>/{data, domain, presentation}/`
- [ ] Dependency Injection: `get_it` + `injectable`
- [ ] Repository pattern (знакомо из C#)

### Ресурсы

- [ ] 📖 [go_router docs](https://pub.dev/packages/go_router) — офиц. документация
- [ ] 📖 [Flutter Navigation Guide](https://docs.flutter.dev/ui/navigation) — гайд от Google
- [ ] 📹 [go_router Tutorial — Andrea Bizzotto](https://codewithandrea.com/articles/flutter-navigation-gorouter-go-vs-push/) — подробный разбор
- [ ] 📖 [Flutter App Architecture — Andrea Bizzotto](https://codewithandrea.com/articles/flutter-app-architecture-riverpod-introduction/) — feature-first структура
- [ ] 📹 [Flutter Project Structure — Reso Coder](https://www.youtube.com/watch?v=KjE2IDphA_U)

### 🛠 Пет-проект: Мульти-экранное приложение

Приложение-справочник (рецепты / заметки / фильмы):
- [ ] Список элементов → детальный экран
- [ ] go_router с параметрами
- [ ] Bottom navigation с 3+ табами
- [ ] Поиск и фильтрация

---

## Этап 4 — State Management

⏱ **~16–20 часов / 2 недели** | Самая важная тема

### Подходы (от простого к сложному)

- [ ] `setState` — для локального состояния
- [ ] `InheritedWidget` — как работает "магия" под капотом
- [ ] **Provider** — простой и понятный (хорош для старта)
- [ ] **Riverpod** ⭐ — эволюция Provider, **рекомендация 2025+**
  - Compile-safe, testable, не зависит от BuildContext
  - `ref.watch`, `ref.read`, `ref.listen`
  - Providers: `Provider`, `StateProvider`, `NotifierProvider`, `AsyncNotifierProvider`, `FutureProvider`, `StreamProvider`
- [ ] **BLoC** — для больших enterprise-приложений
  - Events → BLoC → States
  - Знакомый паттерн если работал с Redux/MediatR
- [ ] Когда что использовать:
  - Маленькое приложение → Riverpod
  - Большое/командное → BLoC
  - Прототип → setState + Provider

### Ресурсы

- [ ] 📖 [Flutter State Management Guide](https://docs.flutter.dev/data-and-backend/state-mgmt/intro) — офиц. обзор
- [ ] 📖 [Riverpod Documentation](https://riverpod.dev/) — **начни с этого**
- [ ] 📹 [Riverpod 2.0 — Complete Guide — Andrea Bizzotto](https://codewithandrea.com/articles/flutter-state-management-riverpod/) — лучший гайд
- [ ] 📹 [Flutter Riverpod Tutorial — Vandad Nahavandipoor](https://www.youtube.com/watch?v=vtGCteFYs4M)
- [ ] 📖 [BLoC Library](https://bloclibrary.dev/) — офиц. сайт с туториалами
- [ ] 📹 [BLoC Tutorial — Reso Coder](https://www.youtube.com/watch?v=THCkkQ-V1-8)
- [ ] 📖 [Provider Package](https://pub.dev/packages/provider) — документация

### 🛠 Пет-проект: Todo App (с архитектурой)

- [ ] CRUD задач с Riverpod
- [ ] Фильтры: все / активные / завершённые
- [ ] Persistence (SharedPreferences или Hive)
- [ ] Clean Architecture: Data → Domain → Presentation
- [ ] Unit-тесты для бизнес-логики

---

## Этап 5 — Работа с данными

⏱ **~16–20 часов / 2 недели**

### HTTP и API

- [ ] Пакет `http` — базовые запросы
- [ ] **Dio** — продвинутый HTTP-клиент (interceptors, retry, cancel)
- [ ] Сериализация JSON: `json_serializable` + `build_runner`
- [ ] **Freezed** — генерация data-классов и union types
- [ ] Обработка ошибок сети: `Result` pattern, `Either`
- [ ] Retrofit (знакомо из .NET!) — генерация API-клиента

### Локальное хранение

- [ ] `SharedPreferences` — key-value (как LocalStorage)
- [ ] **Hive** — быстрая NoSQL база
- [ ] **Drift** (бывший Moor) — type-safe SQLite ORM
- [ ] `sqflite` — SQLite напрямую
- [ ] `flutter_secure_storage` — для токенов/паролей

### Firebase (бесплатный tier)

- [ ] Firebase Auth — аутентификация
- [ ] Cloud Firestore — NoSQL база
- [ ] Firebase Storage — файлы
- [ ] Firebase Messaging (FCM) — push-нотификации
- [ ] [FlutterFire](https://firebase.flutter.dev/) — офиц. плагины

### Ресурсы

- [ ] 📖 [Flutter Networking Guide](https://docs.flutter.dev/data-and-backend/networking)
- [ ] 📖 [Dio Package](https://pub.dev/packages/dio) — документация
- [ ] 📖 [Freezed Package](https://pub.dev/packages/freezed) — генерация моделей
- [ ] 📖 [FlutterFire Docs](https://firebase.flutter.dev/) — Firebase для Flutter
- [ ] 📹 [Flutter REST API Tutorial — Vandad](https://www.youtube.com/watch?v=CQuxU8JGJnQ)
- [ ] 📹 [Firebase Flutter Course — freeCodeCamp](https://www.youtube.com/watch?v=wUSkeTaBonA) — 5+ часов
- [ ] 📖 [Drift Documentation](https://drift.simonbinder.eu/docs/getting-started/)

### 🛠 Пет-проект: Погодное приложение

- [ ] Запрос к Open-Meteo или OpenWeatherMap API
- [ ] Модели через `freezed` + `json_serializable`
- [ ] Поиск города, текущая погода + прогноз на 5 дней
- [ ] Кэширование последнего запроса в Hive
- [ ] Pull-to-refresh
- [ ] Красивый UI с анимациями погоды

---

## Этап 6 — UI мастерство

⏱ **~12–15 часов / 1.5 недели**

### Что изучить

- [ ] Animations: implicit (`AnimatedContainer`, `AnimatedOpacity`) и explicit (`AnimationController`, `Tween`)
- [ ] Hero animations (переходы между экранами)
- [ ] Custom Paint — рисование кастомных элементов
- [ ] `Sliver` виджеты: `CustomScrollView`, `SliverAppBar`, `SliverList`, `SliverGrid`
- [ ] Responsive design: `LayoutBuilder`, `MediaQuery`, `OrientationBuilder`
- [ ] Adaptive UI: Material (Android) + Cupertino (iOS)
- [ ] Custom widgets: composition vs inheritance
- [ ] Themes и дизайн-система (typography, color schemes, spacing)
- [ ] Пакеты для UI:
  - `flutter_animate` — декларативные анимации
  - `shimmer` — loading placeholders
  - `cached_network_image` — кэширование картинок
  - `flutter_svg` — SVG поддержка

### Ресурсы

- [ ] 📖 [Flutter Animations Guide](https://docs.flutter.dev/ui/animations)
- [ ] 📹 [Flutter Animations Course — Flutter Official](https://www.youtube.com/watch?v=IVTjpW3W33s)
- [ ] 📖 [Flutter Adaptive Design](https://docs.flutter.dev/ui/adaptive-responsive)
- [ ] 📹 [Sliver Widgets — Flutter](https://www.youtube.com/watch?v=Mz3kHQxBjGg)
- [ ] 📖 [Material 3 in Flutter](https://docs.flutter.dev/ui/design/material)

### 🛠 Пет-проект: Клон UI известного приложения

Выбери и воспроизведи UI (без бэкенда):
- [ ] Spotify / Netflix / Twitter — карточки, списки, анимации
- [ ] Кастомные анимации переходов
- [ ] Адаптивный дизайн под разные размеры экрана
- [ ] Тёмная и светлая темы

---

## Этап 7 — Нативные возможности

⏱ **~8–10 часов / 1 неделя**

### Что изучить

- [ ] Platform channels — вызов нативного кода (Swift/Kotlin)
- [ ] Камера: `camera`, `image_picker`
- [ ] Геолокация: `geolocator`, `geocoding`
- [ ] Карты: `google_maps_flutter` или `flutter_map` (OpenStreetMap)
- [ ] Push-уведомления: `firebase_messaging` + `flutter_local_notifications`
- [ ] Permissions: `permission_handler`
- [ ] Biometrics: `local_auth`
- [ ] Deep links и Universal links
- [ ] Sharing: `share_plus`
- [ ] URL launcher: `url_launcher`

### Ресурсы

- [ ] 📖 [Flutter Platform Integration](https://docs.flutter.dev/platform-integration/platform-channels)
- [ ] 📖 [pub.dev](https://pub.dev/) — поиск пакетов, проверяй likes и pub points
- [ ] 📹 [Google Maps in Flutter — Johannes Milke](https://www.youtube.com/watch?v=Zz5hMvgiWmY)
- [ ] 📖 [Flutter Camera Plugin](https://pub.dev/packages/camera)

### 🛠 Мини-проект: Приложение с картой

- [ ] Показать текущее местоположение на карте
- [ ] Добавление маркеров / POI
- [ ] Поиск мест
- [ ] Разрешения runtime

---

## Этап 8 — Тестирование и CI/CD

⏱ **~8–10 часов / 1 неделя**

### Что изучить

- [ ] **Unit tests** — тестирование бизнес-логики и репозиториев
- [ ] **Widget tests** — тестирование UI-компонентов
- [ ] **Integration tests** — E2E тестирование на устройстве/эмуляторе
- [ ] Mocking: `mocktail` или `mockito`
- [ ] Golden tests — скриншот-тесты UI
- [ ] Code coverage: `flutter test --coverage`
- [ ] CI/CD:
  - GitHub Actions / Codemagic / Fastlane
  - Автоматическая сборка APK/IPA
  - Автоматическая публикация в stores

### Ресурсы

- [ ] 📖 [Flutter Testing Guide](https://docs.flutter.dev/testing) — офиц. документация
- [ ] 📹 [Flutter Testing Tutorial — Reso Coder](https://www.youtube.com/watch?v=RDY6UYh-4dg)
- [ ] 📖 [Codemagic CI/CD](https://docs.codemagic.io/flutter/getting-started/) — бесплатный tier для Flutter
- [ ] 📖 [Mocktail Package](https://pub.dev/packages/mocktail)

### 🛠 Практика

- [ ] Написать тесты для Todo App из Этапа 4
- [ ] Unit tests для API-слоя (mock HTTP)
- [ ] Widget tests для ключевых экранов
- [ ] Настроить CI pipeline (GitHub Actions)

---

## Этап 9 — Публикация

⏱ **~6–8 часов / 1 неделя**

### Google Play Store

- [ ] Создать аккаунт разработчика ($25 одноразово)
- [ ] Подписать APK/AAB (keystore)
- [ ] Скриншоты, описание, иконка
- [ ] Privacy Policy (можно сгенерировать)
- [ ] Загрузить в Google Play Console
- [ ] Internal testing → Closed testing → Production

### Apple App Store

- [ ] Apple Developer Program ($99/год)
- [ ] Certificates, Identifiers, Profiles
- [ ] Archive и загрузка через Xcode / Transporter
- [ ] App Store Connect: метаданные, скриншоты
- [ ] TestFlight для бета-тестирования
- [ ] Ревью Apple (строгие правила)

### Ресурсы

- [ ] 📖 [Flutter Deployment — Android](https://docs.flutter.dev/deployment/android)
- [ ] 📖 [Flutter Deployment — iOS](https://docs.flutter.dev/deployment/ios)
- [ ] 📹 [Publish Flutter App — Mitch Koko](https://www.youtube.com/watch?v=g0GNuoCOtaQ)
- [ ] 📖 [Fastlane for Flutter](https://docs.flutter.dev/deployment/cd)

---

## Этап 10 — Реальный проект

⏱ **~40–60 часов / 4–6 недель** | Всё вместе

### План создания реального приложения

> Пример: **Personal Finance Tracker** (или любое приложение по интересу)

#### Фаза 1: Планирование (2–3 дня)
- [ ] Определить MVP: 3–5 ключевых фич
- [ ] Wireframes (можно в Figma — бесплатно)
- [ ] Выбрать стек: Riverpod + go_router + Dio + Drift/Hive
- [ ] Спроектировать data models

#### Фаза 2: Скелет (1 неделя)
- [ ] Настроить проект с правильной структурой (feature-first)
- [ ] Настроить DI (get_it + injectable)
- [ ] Навигация (go_router)
- [ ] Базовый UI каждого экрана (placeholder)
- [ ] Тема и дизайн-система

#### Фаза 3: Core Features (2–3 недели)
- [ ] Реализовать основную бизнес-логику
- [ ] Подключить API / базу данных
- [ ] State management для каждой фичи
- [ ] Обработка ошибок и loading states
- [ ] Offline-first: локальный кэш + синхронизация

#### Фаза 4: Polish (1 неделя)
- [ ] Анимации и micro-interactions
- [ ] Responsive дизайн
- [ ] Обработка edge-cases
- [ ] Performance: profiling с DevTools
- [ ] Accessibility (семантика для screen readers)

#### Фаза 5: Launch (3–5 дней)
- [ ] Написать unit + widget тесты (coverage >60%)
- [ ] CI/CD pipeline
- [ ] Подготовить store listing
- [ ] Бета-тест через TestFlight / Internal Testing
- [ ] Релиз 🚀

### Идеи для реальных проектов

| Проект | Чему научит |
|--------|-------------|
| 💰 Финансовый трекер | CRUD, графики, локальная БД, экспорт |
| 📝 Заметки/Markdown | Редактор, файловая система, синхронизация |
| 🏋️ Трекер тренировок | Таймеры, анимации, статистика |
| 🍕 Доставка еды (клон) | Карты, API, корзина, навигация |
| 📰 Новостной агрегатор | RSS, API, кэширование, push |
| 🎵 Музыкальный плеер | Аудио, фоновое воспроизведение, UI |

---

## Ресурсы — Каталог

### 📖 Документация (читать первым делом)

| Ресурс | Описание |
|--------|----------|
| [dart.dev](https://dart.dev/) | Официальная документация Dart |
| [docs.flutter.dev](https://docs.flutter.dev/) | Официальная документация Flutter |
| [pub.dev](https://pub.dev/) | Репозиторий пакетов (как npm/nuget) |
| [Flutter API Reference](https://api.flutter.dev/) | Полный API reference |
| [Material 3 Guidelines](https://m3.material.io/) | Гайдлайны Material Design |

### 📹 YouTube каналы

| Канал | Описание |
|-------|----------|
| [Flutter Official](https://www.youtube.com/@flutterdev) | Widget of the Week, Decoding Flutter |
| [Fireship](https://www.youtube.com/@Fireship) | Быстрые обзоры, "in 100 seconds" |
| [Vandad Nahavandipoor](https://www.youtube.com/@VandadNP) | Google Developer Expert, подробные курсы |
| [Reso Coder](https://www.youtube.com/@ResoCoder) | Clean Architecture, TDD, BLoC |
| [Mitch Koko](https://www.youtube.com/@createdbykoko) | Практичные проекты от 0 до деплоя |
| [Code With Andrea](https://www.youtube.com/@CodeWithAndrea) | Riverpod, архитектура, best practices |
| [The Flutter Way](https://www.youtube.com/@TheFlutterWay) | Красивые UI клоны |
| [dbestech](https://www.youtube.com/@daboratechltd) | Полные проекты с бэкендом |
| [Johannes Milke](https://www.youtube.com/@JohannesMilke) | Короткие туториалы по конкретным фичам |
| [freeCodeCamp](https://www.youtube.com/@freecodecamp) | Длинные полные курсы (37+ часов) |

### 📚 Бесплатные курсы и туториалы

| Ресурс | Описание |
|--------|----------|
| [Flutter Codelabs](https://docs.flutter.dev/codelabs) | Пошаговые лабы от Google |
| [Dart Codelabs](https://dart.dev/codelabs) | Интерактивные упражнения по Dart |
| [Flutter Apprentice (raywenderlich)](https://www.kodeco.com/flutter) | Бесплатные статьи и туториалы |
| [Flutter Gems](https://fluttergems.dev/) | Каталог полезных пакетов по категориям |
| [Awesome Flutter](https://github.com/Solido/awesome-flutter) | Кураторский список ресурсов на GitHub |
| [Flutter Examples](https://github.com/nisrulz/flutter-examples) | Сотни примеров кода |
| [It's All Widgets](https://itsallwidgets.com/) | Галерея Flutter-приложений с исходниками |

### 🧰 Инструменты

| Инструмент | Описание |
|------------|----------|
| [DartPad](https://dartpad.dev/) | Онлайн-песочница |
| [Flutter DevTools](https://docs.flutter.dev/tools/devtools) | Профилирование, отладка, инспектор |
| [Very Good CLI](https://github.com/VeryGoodOpenSource/very_good_cli) | Генератор проектов с best practices |
| [Mason](https://github.com/felangel/mason) | Шаблоны кода (как Yeoman) |
| [Widgetbook](https://www.widgetbook.io/) | Storybook для Flutter виджетов |

### 📦 Must-have пакеты

| Пакет | Категория | Описание |
|-------|-----------|----------|
| `riverpod` | State Management | Реактивное управление состоянием |
| `go_router` | Навигация | Декларативный роутинг |
| `dio` | Networking | HTTP-клиент |
| `freezed` | Code Generation | Immutable модели |
| `json_serializable` | Serialization | JSON ↔ Dart |
| `hive` | Storage | NoSQL БД |
| `drift` | Storage | SQLite ORM |
| `get_it` | DI | Service locator |
| `injectable` | DI | Кодогенерация для get_it |
| `flutter_hooks` | UI | React-style hooks |
| `cached_network_image` | UI | Кэширование картинок |
| `flutter_svg` | UI | SVG поддержка |
| `intl` | i18n | Локализация |
| `mocktail` | Testing | Мокирование |

---

## 💡 Советы от опытного разработчика к опытному

1. **Не читай — делай.** С опытом в C#/Go/JS ты быстро схватишь синтаксис. Открывай DartPad, пиши код.

2. **Flutter ≠ React Native.** Здесь нет DOM. Всё — виджеты. Widget tree пересоздаётся каждый кадр (Flutter рендерит как игровой движок).

3. **`const` everywhere.** Flutter использует `const` конструкторы для оптимизации rebuilds. Привыкай.

4. **Riverpod > Provider** для новых проектов. Provider legacy, Riverpod — его автор переосмыслил подход.

5. **Не бойся кодогенерации.** `build_runner` — это норма. `freezed` + `json_serializable` сэкономят тонны boilerplate.

6. **Декомпозиция виджетов.** Если `build()` больше 50 строк — разбивай. Extract widget > extract method.

7. **DevTools — твой друг.** Widget Inspector, Performance, Network — используй с первого дня.

8. **Dart — это не JavaScript.** Null safety строгий. Sound typing. Не борись с системой типов — используй её.

---

## 📊 Timeline Summary

| Этап | Тема | Часы | Недели |
|------|------|------|--------|
| 1 | Dart | 8–12 | 1 |
| 2 | Flutter основы | 16–20 | 2 |
| 3 | Навигация и архитектура | 12–15 | 1.5 |
| 4 | State Management | 16–20 | 2 |
| 5 | Работа с данными | 16–20 | 2 |
| 6 | UI мастерство | 12–15 | 1.5 |
| 7 | Нативные возможности | 8–10 | 1 |
| 8 | Тестирование | 8–10 | 1 |
| 9 | Публикация | 6–8 | 1 |
| 10 | Реальный проект | 40–60 | 4–6 |
| **Итого** | | **~140–190** | **~17–19** |

> При 8–10 часах в неделю = **~4–5 месяцев** до первого приложения в store 🎯

---

*Создано: 2026-03-26 | Автор: Cosmo ✨*
*Последнее обновление: 2026-03-26*
