Ответ
Мой топ-3 библиотек для production-разработки на Flutter:
-
Riverpod (замена Provider) – Современный state-менеджмент и dependency injection.
- Почему: Решает проблемы Provider (например, с
context), имеет отличную поддержку типов, тестируемость и не зависит от дерева виджетов.final counterProvider = StateProvider<int>((ref) => 0);
class MyWidget extends ConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { final count = ref.watch(counterProvider); return Text('Count: $count'); } }
- Почему: Решает проблемы Provider (например, с
-
Dio – HTTP-клиент.
- Почему: Превосходит стандартный
httpпакет благодаря interceptors (для логирования, добавления токенов), поддержке отмены запросов,FormData, и встроенным трансформаторам ответов.final dio = Dio(); dio.interceptors.add(LogInterceptor()); final response = await dio.get<Map<String, dynamic>>('/user/1'); final user = User.fromJson(response.data!);
- Почему: Превосходит стандартный
-
GoRouter (или AutoRoute) – Навигация.
- Почему: Объявляемая маршрутизация с type-safe передачей аргументов. Гораздо чище и надежнее, чем
Navigator.pushNamedсargumentsтипаMap<String, dynamic>.GoRoute( path: '/user/:id', builder: (context, state) { final userId = state.pathParameters['id']!; // Тип - String return UserProfilePage(userId: userId); }, );
- Почему: Объявляемая маршрутизация с type-safe передачей аргументов. Гораздо чище и надежнее, чем