Flutter и React Native в 2026: 12 промтов, которые реально экономят часы разработки
Кроссплатформенная разработка в 2026 году уже не требует писать всё с нуля. AI-ассистенты вроде ChatGPT, Claude, Gemini или GitHub Copilot стали незаменимыми помощниками. Но чтобы получить рабочий код, а не очередной «Hello World», нужны правильные промты. За два года активного использования я собрал коллекцию из 12 промтов, которые ежедневно ускоряют мою работу над мобильными приложениями на Flutter и React Native. Каждый промт проверен на реальных проектах, от простых виджетов до оптимизации производительности и публикации в сторах.
В этой подборке я делюсь не только текстами промтов, но и примерами их применения, а также объясняю, для каких задач они подходят лучше всего. Все примеры актуальны на сентябрь 2026 года и учитывают последние версии фреймворков (Flutter 4.x, React Native 0.76+ с New Architecture).
1. Генерация адаптивного экрана под все устройства
Промт:
"Создай экран на Flutter для отображения списка товаров. Используй GridView с адаптивным количеством колонок в зависимости от ширины экрана. Добавь поддержку тёмной темы и загрузку изображений через cached_network_image. Код должен быть чистым, с комментариями."
Пример использования:
Вы разрабатываете интернет-магазин. Нужен экран каталога, который одинаково хорошо смотрится на телефоне и планшете. AI сгенерирует виджет с LayoutBuilder и MediaQuery.
Результат:
LayoutBuilder(
builder: (context, constraints) {
final crossAxisCount = (constraints.maxWidth / 200).floor();
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: crossAxisCount,
),
itemBuilder: (context, index) => ProductCard(product: products[index]),
);
},
)
Почему работает: Промт чётко задаёт требования к адаптивности, тёмной теме и библиотекам, экономя время на поиске решений.
2. Управление состоянием в React Native с Redux Toolkit
Промт:
"Напиши slice для Redux Toolkit, который управляет корзиной покупок: добавление, удаление, изменение количества товаров. Используй createSlice и createAsyncThunk для синхронизации с бэкендом. Приведи пример использования в компоненте."
Пример:
В приложении для доставки еды нужно синхронизировать корзину между экранами. AI сгенерирует готовый slice и хуки.
Код:
const cartSlice = createSlice({
name: 'cart',
initialState: { items: [] },
reducers: {
addItem: (state, action) => { state.items.push(action.payload); },
removeItem: (state, action) => { state.items = state.items.filter(i => i.id !== action.payload); },
},
});
export const { addItem, removeItem } = cartSlice.actions;
Совет: Уточните версию Redux Toolkit (2.x) и наличие TypeScript, чтобы получить типизированный код.
3. Интеграция нативного модуля во Flutter
Промт:
"Мне нужно вызвать нативный код Android (Kotlin) из Flutter для получения уровня заряда батареи. Напиши MethodChannel и пример реализации на Kotlin и Dart."
Пример:
Приложение для фитнеса должно отслеживать заряд устройства. AI сгенерирует оба конца канала.
Результат:
Dart:
static const platform = MethodChannel('battery');
Future<int> getBatteryLevel() async {
return await platform.invokeMethod('getBatteryLevel');
}
Kotlin:
class MainActivity: FlutterActivity() {
private val CHANNEL = "battery"
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL).setMethodCallHandler { call, result ->
if (call.method == "getBatteryLevel") {
val level = getBatteryLevel()
result.success(level)
}
}
}
}
Важно: Проверьте разрешения в AndroidManifest.
4. Оптимизация производительности списка в React Native
Промт:
"Проанализируй код компонента FlatList и предложи оптимизации для плавной прокрутки. Используй memo, useCallback, getItemLayout и windowSize. Приведи исправленный код."
Пример:
Список из 1000+ элементов тормозит. AI предложит мемоизацию и настройки FlatList.
Результат:
const renderItem = useCallback(({ item }) => <Item data={item} />, []);
<FlatList
data={data}
renderItem={renderItem}
keyExtractor={item => item.id}
getItemLayout={(data, index) => ({ length: ITEM_HEIGHT, offset: ITEM_HEIGHT * index, index })}
windowSize={5}
maxToRenderPerBatch={10}
/>
Почему работает: Промт просит конкретные приёмы оптимизации, а не общие советы.
5. Написание модульных тестов для Flutter
Промт:
"Сгенерируй unit-тесты для класса UserRepository на Flutter с использованием mockito. Класс имеет методы fetchUser и saveUser, которые работают с API. Покрой успешные сценарии и ошибки."
Пример:
Репозиторий для работы с пользователями. AI создаст моки и тесты.
Код:
class MockApiClient extends Mock implements ApiClient {}
void main() {
test('fetchUser returns User on success', () async {
final mockApi = MockApiClient();
when(mockApi.get('/user/1')).thenAnswer((_) async => {'id': 1, 'name': 'John'});
final repo = UserRepository(mockApi);
final user = await repo.fetchUser(1);
expect(user.name, 'John');
});
}
Совет: Уточните, что используете mockito 5.x и build_runner.
6. Генерация анимации перехода между экранами в React Native
Промт:
"Создай плавную анимацию перехода между экранами в React Navigation с использованием Reanimated 3. Анимация должна сдвигать экран слева направо с эффектом затухания."
Пример:
Приложение для медитации требует мягких переходов. AI сгенерирует конфиг для Stack Navigator.
Результат:
const CardStyleInterpolators = {
forHorizontalIOS: ({ current, layouts }) => ({
cardStyle: {
transform: [{
translateX: current.progress.interpolate({
inputRange: [0, 1],
outputRange: [layouts.screen.width, 0],
}),
}],
opacity: current.progress,
},
}),
};
Почему работает: Промт указывает конкретную библиотеку и тип анимации.
7. Работа с локальной базой данных в Flutter (Drift)
Промт:
"Настрой Drift для Flutter-приложения: создай таблицу Tasks с полями id, title, isCompleted. Напиши DAO для CRUD-операций и пример использования в виджете."
Пример:
Офлайн-заметки. AI сгенерирует схему и запросы.
Код:
class Tasks extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get title => text()();
BoolColumn get isCompleted => boolean()();
}
@DriftAccessor(tables: [Tasks])
class TasksDao extends DatabaseAccessor<AppDatabase> with _$TasksDaoMixin {
Future<List<Task>> getAllTasks() => select(tasks).get();
}
Совет: Уточните, что используете drift 2.x и build_runner.
8. Интеграция push-уведомлений в React Native
Промт:
"Настрой push-уведомления через Firebase Cloud Messaging в React Native. Напиши код для запроса разрешений, обработки токена и отображения уведомления в foreground."
Пример:
Приложение для новостей. AI сгенерирует конфиг и обработчики.
Результат:
import messaging from '@react-native-firebase/messaging';
async function requestUserPermission() {
const authStatus = await messaging().requestPermission();
const enabled = authStatus === messaging.AuthorizationStatus.AUTHORIZED;
if (enabled) {
const token = await messaging().getToken();
console.log('FCM Token:', token);
}
}
messaging().onMessage(async remoteMessage => {
console.log('Foreground message:', remoteMessage);
});
Важно: Не забудьте про google-services.json и APNs.
9. Рефакторинг легаси-кода на Flutter
Промт:
"Проанализируй этот виджет Flutter и предложи рефакторинг: раздели на более мелкие компоненты, вынеси логику в отдельный класс, используй const конструкторы. Приведи исправленный код."
Пример:
Огромный виджет на 500 строк. AI разобьёт его на части и улучшит читаемость.
Результат: Вместо одного build-метода получите несколько маленьких виджетов и сервисный класс.
Почему работает: Промт задаёт конкретные цели рефакторинга.
10. Написание E2E-тестов для React Native с Detox
Промт:
"Напиши E2E-тест на Detox для сценария: открытие экрана логина, ввод email и пароля, нажатие кнопки входа, проверка перехода на главный экран. Используй Jest."
Пример:
Автотесты для CI/CD. AI сгенерирует тест-сьют.
Код:
describe('Login flow', () => {
it('should login successfully', async () => {
await element(by.id('emailInput')).typeText('test@example.com');
await element(by.id('passwordInput')).typeText('password123');
await element(by.id('loginButton')).tap();
await expect(element(by.id('homeScreen'))).toBeVisible();
});
});
Совет: Уточните версию Detox и наличие testID в компонентах.
11. Подготовка к публикации в App Store и Google Play
Промт:
"Составь чек-лист для публикации Flutter-приложения в App Store и Google Play: какие метаданные нужны, как настроить подписи, какие типичные ошибки при ревью. Добавь советы по ASO."
Пример:
Перед релизом. AI выдаст структурированный список шагов.
Результат:
- App Store: скриншоты для разных устройств, описание, ключевые слова, политика конфиденциальности.
- Google Play: подпись APK, настройка store listing, контент-рейтинг.
- Общее: версионирование, тестирование на реальных устройствах.
Почему работает: Промт просит чек-лист и советы, а не просто инструкцию.
12. Оптимизация размера бандла в React Native
Промт:
"Проанализируй зависимости проекта React Native и предложи способы уменьшить размер бандла: замена библиотек, tree shaking, использование Hermes. Приведи конкретные шаги."
Пример:
Приложение разрослось до 50 МБ. AI предложит удалить неиспользуемые пакеты и включить Hermes.
Результат:
- Включите Hermes в gradle.properties.
- Замените moment.js на date-fns.
- Используйте import { specific } from 'library' вместо import *.
Совет: Уточните текущий размер и целевую платформу.
Эти 12 промтов покрывают ключевые этапы разработки кроссплатформенных приложений: от создания UI до публикации. Главное — адаптировать их под свой проект, указывая конкретные версии библиотек и требования. AI не заменит разработчика, но станет мощным ускорителем, если задавать правильные вопросы. Попробуйте эти промты в своём следующем проекте на Flutter или React Native — и вы удивитесь, насколько быстрее пойдёт работа. А если у вас есть свои любимые промты, делитесь в комментариях!
Комментарии