TGViewer
Flutter Pulse Flutter Pulse @flutterpulse · 1.01K subscribers
Post #3158 77
Flutter на клиенте, Fletch на сервере: бэкенд на знакомом Dart

Представьте, что вам не нужно переключаться между Dart и Node.js или Python. Fletch — это HTTP-фреймворк на Dart, который позволяет писать бэкенд на том же языке, что и клиент. Это устраняет рассинхронизацию моделей и бизнес-логики, так как вы используете единый стек для всей архитектуры.

Архитектурно Fletch напоминает популярный Express из мира JavaScript: там есть маршрутизация, middleware, сессии и DI. Но важно понимать: это не порт. У Fletch собственные типы Request и Response, а также уникальный конвейер обработки. JavaScript-мидлварь из npm здесь не сработает, поэтому перенос привычек требует осторожности.

⚡ Производительность впечатляет. В бенчмарке Dartmark (18 июня 2026) Fletch 2.3.0 показал 16 590 запросов в секунду. Это всего на 2.61% ниже чистой реализации на dart:io. Для сравнения: Dart Frog показал ~9 984, а Shelf — ~9 888 req/s. Секрет скорости — в radix-маршрутизаторе и оптимизированном пути для маршрутов без middleware.

🔧 Инженерные решения продуманы до мелочей. В версии 2.3.0 добавлены необязательные параметры в путях (через знак вопроса). Система валидации строго проверяет JSON: если клиент слал битые данные, вы получите корректный 400, а не 500. Также реализована поддержка Server-Sent Events (SSE) для потоковой передачи данных без постоянного опроса.

⚠️ Однако есть нюансы. Middleware оборачивает только зарегистрированные маршруты, поэтому нельзя полагаться на app.use() для глобального перехвата всех запросов. Стандартное хранилище сессий работает в памяти, что означает потерю данных при перезапуске. Для продакшена потребуется внешний хранилище, например, Redis, так как готового адаптера в пакете нет.

📦 Фреймворк берет на себя только HTTP-часть. Выбор БД, очередей и систем авторизации остается за вами. Это дает свободу, но требует самостоятельной сборки инфраструктуры. Зато вы получаете нативную компиляцию в исполняемый файл, который включает рантайм Dart. Не нужно устанавливать SDK на сервере.

💡 Главная ценность — простота и скорость прототипирования. Если вы уверенно владеете Dart, Fletch позволит быстро собрать API для мобильных приложений или внутренних сервисов. Порог входа низкий, а путь от запроса до обработчика легко отслеживается.

Начните с одного маршрута и проверьте ключевые сценарии. Если проекту нужны готовые ORM или генерация SDK, оценивайте их наличие отдельно. Fletch — это фундамент, который дает контроль над каждым байтом вашего сервера.

🔗 Полезные ссылки

Fletch на pub.dev

🔗 Полезные ссылки
📦 fletch
📚 pub.dev

📰 Читать оригинал на Habr

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #flutterpulsehabr
  • 👍 1
More from @flutterpulse
  1. Oct 6, 2026👣 Как заставить ИИ-агента делегировать вычисления Dart-коду Представьте: ваш ИИ-агент в F…
  2. Oct 6, 2026Обновлённые пакеты за последние 24 часа oidc 5.0.1 Плагин для Flutter, реализующий OpenID…
  3. Oct 6, 2026photo post
  4. Oct 5, 2026Обновлённые пакеты за последние 24 часа flutter_native_speech_to_text Лёгкий плагин для го…
  5. Oct 5, 2026photo post
  6. Oct 5, 2026Обзор пакетов на тему Printing danfe 3.1.0 Пакет предназначен для парсинга XML электронных…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →