--- 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//{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*