Почему в 2026-м побеждает тот, кто умеет правильно спрашивать
Кроссплатформенная разработка давно перестала быть компромиссом: Flutter и React Native сегодня закрывают и банки, и маркетплейсы, и enterprise-приложения. Но выигрывают не те, кто знает больше API, а те, кто быстрее превращает идею в работающий экран. Именно здесь решает качество промта.
Плохой промт даёт generic-код из туториала 2022 года. Хороший — рабочий виджет с учётом state management, платформенных ограничений и тестов. Ниже — 10 промтов, которые я регулярно использую в реальных проектах, с примерами и пояснениями, для каких задач каждый подходит.
| Задача | Flutter | React Native |
|---|---|---|
| UI-слой | Widget tree, Material 3 | JSX, NativeWind |
| State | Riverpod, Bloc | Zustand, Redux Toolkit |
| Нативные модули | Platform Channels | TurboModules / JSI |
| Тесты | flutter_test, integration_test | Jest + Testing Library |
1. Генерация экрана с нуля по описанию
Задача: быстро получить каркас экрана с состояниями loading/error/empty.
Ты — senior Flutter-разработчик. Сгенерируй экран профиля пользователя:
- Riverpod (AsyncNotifier) для загрузки данных
- состояния: loading, error, empty, data
- Material 3, поддержка тёмной темы
- без внешних UI-пакетов
Выведи полный код файла profile_screen.dart и провайдер.
Для React Native аналог: попроси экран на TypeScript + TanStack Query + NativeWind. Промт экономит час рутины на каждом новом экране.
2. Рефакторинг state management
Задача: миграция с setState на нормальную архитектуру.
Вот файл с 400 строк и setState. Раздели логику:
- бизнес-логика в Riverpod Notifier
- UI — в StatelessWidget
- сохрани всю текущую функциональность
Покажи diff и объясни, что изменилось.
Подходит, когда прототип вырос в продакшн и его надо спасать.
3. Интеграция нативного модуля
Задача: вызвать платформенный API (камера, Bluetooth, биометрия).
Напиши Platform Channel для Flutter:
- метод getBatteryLevel()
- Kotlin (Android) и Swift (iOS) реализации
- обработка исключений и MissingPluginException
- пример вызова из Dart
Для React Native используйте TurboModules — промт с явным указанием «Codegen spec, TypeScript + Kotlin + Swift».
4. Оптимизация производительности
Задача: найти причину лагов и jank.
Проанализируй этот build-метод. Найди:
- лишние rebuild
- тяжёлые операции в build()
- отсутствие const и keys в списках
Предложи конкретные правки с кодом до/после.
5. Написание тестов
Сгенерируй widget-тесты для CartWidget:
- пустая корзина
- один товар
- изменение количества
- удаление товара
Используй flutter_test и mocktail.
Для React Native — Jest + React Native Testing Library, с моками навигации.
6. Локализация и интернационализация
Настрой l10n для Flutter: ARB-файлы для en, ru, de.
Переведи строки из этого кода и покажи пример использования AppLocalizations.
7. Подготовка к публикации
Составь чек-лист релиза Flutter-приложения:
- версионирование pubspec.yaml
- ProGuard/R8 для Android
- App Privacy Manifest для iOS (2024+)
- размер бандла и split-debug-info
8. Код-ревью и безопасность
Проверь код на утечки: API-ключи, небезопасное хранение токенов.
Предложи flutter_secure_storage вместо SharedPreferences.
9. CI/CD пайплайн
Напиши GitHub Actions workflow для Flutter:
- analyze + test на PR
- сборка APK и IPA
- кэш pub-зависимостей
10. Документация и README
Сгенерируй README по коду проекта: архитектура, запуск, переменные окружения, структура папок.
Как выжимать больше из каждого промта
Давайте модели контекст: версия Flutter/RN, используемые пакеты, целевые платформы. Просите diff, а не весь файл — так проще ревьюить. Всегда проверяйте сгенерированный код: AI уверенно выдумывает несуществующие параметры API.
Официальные источники, на которые стоит опираться: docs.flutter.dev, reactnative.dev, developer.android.com, developer.apple.com.
Начните с одного промта сегодня — возьмите экран, который откладывали, и сгенерируйте каркас. Через неделю вы будете писать промты быстрее, чем гуглить синтаксис.
Comments