🔧 DevScreen на Flutter: свой путь к инструменту для логирования, тестирования и смены окружений
🗣 Спикер: Павел, Flutter-разработчик с 10+ годами опыта, один из первых пользователей Flutter в РФ, соавтор книги «Основы Flutter», лектор СФУ и активный участник комьюнити.
На конференции он представил разработку своей команды — DevScreen, универсальный внутренний инструмент для мобильной отладки, логирования, диагностики и смены окружений.
🔎 Зачем нужен DevScreen?
В боевой разработке часто не хватает:
🎛 экрана с настройками (окружения, прокси)
🧾 доступа к логам прямо в приложении
🐞 удобного сбора стектрейсов для QA
📉 отладки UI, FPS, границ, состояния виджетов
🧪 триггера запуска debug-инструментов без пересборки
💬 «Качество — это ответственность всей команды», — говорит Павел. А значит, и тестировщики, и дизайнеры, и разработчики должны иметь доступ к полезной внутренней информации прямо в приложении.
🧰 Что уже есть на рынке?
Рассмотрели 2 популярных решения:
1. Ume
✅ умеет логировать запросы
✅ показывает FPS, границы виджетов, device info
❌ не умеет работать с окружениями и прокси
❌ нет нормального логирования ошибок
❌ триггер ручной (нужно писать самому)
💡 Хорош для дизайнеров и UI-отладки, но слабо помогает QA и не масштабируется под все нужды.
2. Talker
✅ готовый экран логов
✅ отличное логирование (включая ошибки, кастомные события, API-запросы)
✅ удобен и в приложении, и в консоли
❌ не умеет менять окружение и прокси
❌ триггер — тоже руками
❌ нет UI-отладки
💬 «Talker — это скорее логер, чем полноценный DevScreen. Мы хотели большего».
Так родилась идея своего DevScreen MVP, который:
🔓 открывается по shake-жесту или скрытой зоне (не мешает пользователю)
🌐 позволяет менять окружения, добавлять прокси
🧾 логирует ошибки, API-запросы, аналитику и кастомные события
🔄 сбрасывает кэш, симулирует логаут, показывает device info
🛠 кастомизируется под проект, легко расширяется
🔐 имеет авторизацию (доступ по роли или логину)
🧪 отделён от боевого UI, не ломает UX обычного пользователя
⚙️ поддерживает показ границ виджетов, FPS, и другую системную инфу
💡 Всё настраивается модульно. Хочешь только прокси? Подключай только его. Нужны только логи? Без проблем.
🤝 Кто пользуется внутри?
Разработчики — смотрят логи, стектрейсы, ошибки
Тестировщики — не пишут баг на глаз, а прикладывают API-ответ и stacktrace
Дизайнеры — проверяют реализацию UI прямо в приложении (границы, цвета, размеры)
🚀 Что дальше?
В планах:
🧩 сделать DevScreen переиспользуемым пакетом
🛡 вынести доступ к нему за фичефлаг
🧪 покрыть всё юнит- и интеграционными тестами
📢 возможно — опубликовать в open-source, если будет спрос
📺 Полное видео доклада (YouTube):
📌 Такой подход реально экономит часы работы QA и разработчиков, а главное — повышает качество продукта уже на уровне debug. Всё прозрачно, логируемо и воспроизводимо.
🧵 #flutter #flutterpulse #debug #talker #devtools #qa #мобилкарф #тестирование #логирование #devscreen #mobiledev #dart #flutterмного #конференция
🗣 Спикер: Павел, Flutter-разработчик с 10+ годами опыта, один из первых пользователей Flutter в РФ, соавтор книги «Основы Flutter», лектор СФУ и активный участник комьюнити.
На конференции он представил разработку своей команды — DevScreen, универсальный внутренний инструмент для мобильной отладки, логирования, диагностики и смены окружений.
🔎 Зачем нужен DevScreen?
В боевой разработке часто не хватает:
🎛 экрана с настройками (окружения, прокси)
🧾 доступа к логам прямо в приложении
🐞 удобного сбора стектрейсов для QA
📉 отладки UI, FPS, границ, состояния виджетов
🧪 триггера запуска debug-инструментов без пересборки
💬 «Качество — это ответственность всей команды», — говорит Павел. А значит, и тестировщики, и дизайнеры, и разработчики должны иметь доступ к полезной внутренней информации прямо в приложении.
🧰 Что уже есть на рынке?
Рассмотрели 2 популярных решения:
1. Ume
✅ умеет логировать запросы
✅ показывает FPS, границы виджетов, device info
❌ не умеет работать с окружениями и прокси
❌ нет нормального логирования ошибок
❌ триггер ручной (нужно писать самому)
💡 Хорош для дизайнеров и UI-отладки, но слабо помогает QA и не масштабируется под все нужды.
2. Talker
✅ готовый экран логов
✅ отличное логирование (включая ошибки, кастомные события, API-запросы)
✅ удобен и в приложении, и в консоли
❌ не умеет менять окружение и прокси
❌ триггер — тоже руками
❌ нет UI-отладки
💬 «Talker — это скорее логер, чем полноценный DevScreen. Мы хотели большего».
Так родилась идея своего DevScreen MVP, который:
🔓 открывается по shake-жесту или скрытой зоне (не мешает пользователю)
🌐 позволяет менять окружения, добавлять прокси
🧾 логирует ошибки, API-запросы, аналитику и кастомные события
🔄 сбрасывает кэш, симулирует логаут, показывает device info
🛠 кастомизируется под проект, легко расширяется
🔐 имеет авторизацию (доступ по роли или логину)
🧪 отделён от боевого UI, не ломает UX обычного пользователя
⚙️ поддерживает показ границ виджетов, FPS, и другую системную инфу
💡 Всё настраивается модульно. Хочешь только прокси? Подключай только его. Нужны только логи? Без проблем.
🤝 Кто пользуется внутри?
Разработчики — смотрят логи, стектрейсы, ошибки
Тестировщики — не пишут баг на глаз, а прикладывают API-ответ и stacktrace
Дизайнеры — проверяют реализацию UI прямо в приложении (границы, цвета, размеры)
🚀 Что дальше?
В планах:
🧩 сделать DevScreen переиспользуемым пакетом
🛡 вынести доступ к нему за фичефлаг
🧪 покрыть всё юнит- и интеграционными тестами
📢 возможно — опубликовать в open-source, если будет спрос
📺 Полное видео доклада (YouTube):
📌 Такой подход реально экономит часы работы QA и разработчиков, а главное — повышает качество продукта уже на уровне debug. Всё прозрачно, логируемо и воспроизводимо.
🧵 #flutter #flutterpulse #debug #talker #devtools #qa #мобилкарф #тестирование #логирование #devscreen #mobiledev #dart #flutterмного #конференция