Мобильная разработка на React Native и Flutter славится скоростью итераций, но стоит перейти от прототипа к продакшену — начинаются боли: навигация между экранами, управление состоянием, оптимизация списков, отладка нативных ошибок, настройка CI и подготовка к публикации. LLM уже сейчас может снять значительную часть рутины, если правильно формулировать запросы. В этой подборке — проверенные промты для ключевых этапов, с примерами и пояснениями, где AI реально экономит время, а где без ручной проверки на устройстве не обойтись.
Навигация и экраны: генерируем структуру за минуты
Задача: быстро создать скелет навигации с типизированными параметрами для React Native (React Navigation) или Flutter (GoRouter).
Промт:
Сгенерируй код навигации для React Native с использованием React Navigation (версия 6). Нужны экраны: Home, Profile, Settings. Параметры: Home без параметров, Profile принимает userId: string, Settings без параметров. Используй TypeScript, создай типы RootStackParamList и настрой NativeStackNavigator. Добавь кнопки перехода с Home на Profile и Settings.
Результат: LLM выдаст готовый файл с типами, навигатором и экранами-заглушками. Вы сэкономите 10–15 минут на шаблонном коде, но проверьте, что типы не конфликтуют с вашей версией библиотеки.
Для Flutter аналогично:
Создай навигацию на GoRouter для Flutter. Экраны: HomePage, ProfilePage (параметр userId), SettingsPage. Настрой маршруты, передачу параметров и навигацию через context.go. Используй MaterialApp.router.
Важно: LLM может предложить устаревший синтаксис, если вы не указали версию. Всегда уточняйте версии пакетов.
Управление состоянием: выбираем подход и генерируем код
Задача: определиться с библиотекой и получить рабочий шаблон для сложного экрана.
Промт:
У меня приложение на Flutter с BLoC. Нужно управлять состоянием корзины: добавление, удаление, изменение количества товаров. Сгенерируй Cubit и состояния (loading, success, error), а также виджет, который отображает список и обрабатывает события. Используй flutter_bloc версии 8.
Результат: LLM создаст классы Cubit, состояния и пример виджета с BlocBuilder. Вы получите основу, которую останется адаптировать под ваш API.
Trade-off: BLoC даёт предсказуемость, но увеличивает boilerplate. LLM может сгенерировать избыточный код — проверяйте, не проще ли использовать Provider или Riverpod в вашем случае.
Оптимизация рендеринга и списков
Задача: устранить лаги в длинных списках.
Промт:
В React Native у меня FlatList с 1000 элементов, каждый элемент — сложный компонент с изображением и текстом. Список тормозит при скролле. Предложи оптимизации: использование memo, getItemLayout, keyExtractor, настройку windowSize и removeClippedSubviews. Напиши пример оптимизированного компонента.
Результат: LLM перечислит методы и сгенерирует код с React.memo и правильными пропсами. Однако реальный прирост производительности зависит от вашего рендер-дерева — тестируйте на устройстве.
Неочевидный вывод: Иногда проблема не в списке, а в тяжёлых вычислениях внутри item. LLM может предложить вынести их в useMemo, но без профилирования вы не узнаете узкое место.
Отладка нативных ошибок iOS/Android
Задача: расшифровать стектрейс или сообщение об ошибке, связанное с нативным модулем.
Промт:
При запуске React Native приложения на iOS возникает ошибка: "Invariant Violation: requireNativeComponent: 'RNSVGPath' was not found in the UIManager". Я использую react-native-svg версии 13. Какие возможные причины и как исправить?
Результат: LLM предложит проверить установку pod'ов, пересобрать проект, очистить кэш. Это экономит время на поиск в документации.
Важно: Для сложных нативных ошибок LLM может галлюцинировать — всегда проверяйте предложенные команды в вашем окружении.
CI/CD и подготовка к публикации
Задача: настроить автоматическую сборку и деплой в сторы.
Промт:
Напиши GitHub Actions workflow для React Native приложения, который собирает Android APK и iOS IPA при пуше в ветку main. Используй fastlane для деплоя в Google Play (internal track) и TestFlight. Учти кэширование зависимостей и секреты для ключей. Смотрите также и [Переговоры и коммуникация: как просить прибавку без страха и неловкости](/blog/peregovory-i-kommunikatsiya-kak-prosit-pribavku-bez-strakha-i-nelovkosti).
Результат: LLM сгенерирует YAML-файл с шагами, но потребуется ручная настройка секретов и проверка версий экшенов.
Чек-лист перед публикацией:
- Проверьте версии в pubspec.yaml или package.json.
- Убедитесь, что все разрешения описаны в Info.plist и AndroidManifest.xml.
- Прогоните сборку локально — CI может выявить ошибки, невидимые в эмуляторе.
Выводы
Промты для React Native и Flutter ускоряют рутинные задачи: генерацию навигации, настройку состояния, оптимизацию списков и даже отладку. Но AI не заменит понимания архитектуры и тестирования на устройствах. Используйте LLM как помощника для черновиков, а критичные части проверяйте вручную. Начните с малого: возьмите один промт из этой подборки и попробуйте на текущем проекте — вы удивитесь, сколько времени освободится для действительно сложных задач. Смотрите также и DevSecOps (SAST/DAST): как встроить безопасность в CI/CD и не сломать разработку.