Какой state manager выберешь для написания приложения с нуля

«Какой state manager выберешь для написания приложения с нуля» — вопрос из категории State Management, который задают на 29% собеседований Flutter Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для нового приложения я бы выбрал Riverpod — он современный, гибкий и хорошо интегрируется с Flutter.

Почему Riverpod?

  • Null-safety из коробки.
  • Не зависит от BuildContext, что упрощает тестирование.
  • Поддержка автоматического управления состоянием (Provider, StateNotifier и т.д.).
  • Хорошая документация и активное сообщество.

Пример:

final counterProvider = StateNotifierProvider<Counter, int>((ref) => Counter());

class Counter extends StateNotifier<int> {
  Counter() : super(0);

  void increment() => state++;
}

// Использование в виджете
Consumer(
  builder: (context, ref, child) {
    final count = ref.watch(counterProvider);
    return Text('Count: $count');
  },
)

Если проект небольшой, можно использовать Provider, а для сложных стейтов — Bloc/Cubit. Но Riverpod — золотая середина.