Flutter: Droido 1.2.0 -- сетевой инспектор только для debug с нулевым влиянием на release
Droido 1.2.0 вышел 8 февраля 2026 года как сетевой инспектор только для debug для Flutter. Интересна не UI. Это история упаковки: держать современный инспектор в debug-сборках, гарантируя, что release-сборки остаются чистыми, маленькими и незатронутыми.
Droido 1.2.0 вышел сегодня (8 февраля 2026 года) как сетевой инспектор только для debug для Flutter 3.x. Он заявляет о поддержке Dio, пакета http и клиентов в стиле Retrofit, плюс постоянное debug-уведомление и современный UI.
Часть, о которой стоит написать, — это ограничение: сделать отладку проще, не платя за это в release-сборках. Если вы поставляете Flutter-приложения в масштабе, “это всего лишь dev-инструмент” не оправдание для случайных продакшн-зависимостей, дополнительной инициализации или больших бинарников.
Единственный приемлемый контракт: инструменты отладки должны исчезать в release
Во Flutter самый чистый шаблон — инициализировать код только для dev внутри блока assert. assert удаляется в release-режиме, поэтому путь кода (и обычно транзитивные импорты) становится нерелевантным для release-сборки.
Вот минимальный шаблон, который вы можете использовать в любом приложении Flutter 3.x, независимо от того, какой инспектор вы подключаете:
import 'package:dio/dio.dart';
// Keep this in a separate file if you want even stronger separation.
void _enableDebugNetworkInspector(Dio dio) {
// Add your debug-only interceptors or inspector initialization here.
// Example (generic):
// dio.interceptors.add(LogInterceptor(requestBody: true, responseBody: true));
//
// For Droido specifically, replace this comment with the package's setup call.
}
Dio createDio() {
final dio = Dio();
assert(() {
_enableDebugNetworkInspector(dio);
return true;
}());
return dio;
}
Это даёт вам три вещи:
- Нет побочных эффектов в продакшне: инспектор не инициализируется в release.
- Меньше риск при рефакторингах: трудно случайно оставить включённым хук только для dev.
- Предсказуемое место для подключения клиентов: вы можете применять это к
Dio,http.Clientили сгенерированному Retrofit-врапперу, пока вы владеете фабрикой.
Что я проверил бы перед внедрением Droido
Обещание “нулевое влияние на release-сборки” достаточно конкретно, чтобы вы могли его валидировать:
- Вывод сборки: сравните размер
flutter build apk --releaseи дерево зависимостей до и после. - Время выполнения: убедитесь, что код инспектора никогда не ссылается, когда
kReleaseModeравен true (шаблонassertэто обеспечивает). - Точки перехвата: проверьте, что он зацепляется там, где ваше приложение действительно отправляет трафик (Dio vs
httpvs сгенерированные клиенты).
Если Droido выдержит, это тип инструмента, который улучшает повседневную отладку, не превращаясь в долгосрочный налог на обслуживание.
Источники: