TGViewer
Flutter Pulse Flutter Pulse @flutterpulse · 1.01K subscribers
Post #2965 407
DartWay выходит на pub.dev — бэкенд для Flutter, который пишется за тебя 🚀

Месяцами я рассказывал про принципы. Теперь — сам фреймворк. На этой неделе DartWay публикуется пакет за пакетом, с разбором каждого. Сегодня — общая картина.

Проблема: Flutter-разработчик умеет делать экраны. Дальше — стена: сервер, БД, миграции, эндпоинты, авторизация, права, реалтайм. Стандартный ответ — «возьми Firebase/Supabase». Удобно, но чужая база, чужие модели, чужой язык и потолок там, где начинается настоящая бизнес-логика.

Ответ DartWay: единый декларативный слой данных от базы до виджета.

На сервере фича описывается конфигом:
// кто читает
accessFilter: (user, model) => user.id == model.ownerId

// кто пишет
allowSave: (user, model) => user.role == 'admin'

// валидация
validateSave: (model) => model.amount > 0

// в той же транзакции
beforeSaveTransaction: (model, tx) => tx.createAuditLog(model)


Эндпоинтов не существует.

На клиенте — одна строка:
ref.watchModelList<Booking>()

Типизированный живой список. Реалтайм-синхронизация, пагинация, фильтры, скелетоны загрузки — из коробки. Кто-то записал модель на сервере — виджет перестроился. Никаких сокетов руками, никаких инвалидаций кэша.

Фича целиком — от таблицы в БД до живого экрана — ~40 строк конфига и виджет.

Формула: Serverpod даёт бэкенд. DartWay убирает необходимость его писать.

---

Структура: 9 пакетов, 3 круга

🔹 Ядро (4 пакета) — модуль Serverpod: generic CRUD для любой модели с реалтайм-подписками, декларативные конфиги доступа/валидации, беспарольная авторизация по телефону, S3/MinIO, алерты об ошибках. Клиентская часть: watchModelList, сессии, переживающие рестарт, умная обработка ошибок.

🔹 Тулбокс приложения — скелет, который каждый раз пишут заново: запуск/сплэш, контракт асинхронных состояний, защищённые действия (двойной тап ≠ две записи), пайплайн уведомлений. Принцип: фреймворк не поставляет дизайн-систему. Никаких DwButton. UI-кит приезжает исходником — и дальше он твой.

🔹 Обвязка — CLI (dartway create — проект за секунды), линты/чекер конвенций, опционально Telegram Mini Apps, мост в DartWay Studio.

---

Три принципа, на которых всё держится

1. Фреймворк не владеет моделями. Твой UserProfile — в твоей базе, с твоими полями и ролями. Не «расширь наш UserInfo», не форк модуля. Чужую модель не расширить — форк тащится через каждое обновление.

2. Secure by default. Модель без описанного доступа — никому не отдаётся. Не «открыто, пока не закрыл» — а «закрыто, пока не открыл». Забыть закрыть можно, забыть открыть — нельзя.

3. Архитектуру проверяет машина. Конвенции + линты + чекер + скиллы для ИИ-агентов. Агент в проекте с машинно-проверяемыми правилами не разваливает его на третьей фиче. Ради этого всё и затевалось.

---

Что дальше

С завтрашнего дня — пакеты на pub.dev и разбор каждого. Первым — серверное ядро: фича без единого написанного эндпоинта.

А в субботу, 18 июля, в 14:00 МСК соберу работающее приложение вживую — за 90 минут, из пустой папки: сервер, база, реалтайм, авторизация. Бесплатно, запись будет.

Полную новость читайте здесь

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

#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #serverpod #backend #architecture
  • 🤡 5
  • 👍 2
More from @flutterpulse
  1. Oct 2, 2026Обновлённые пакеты за последние 24 часа Pigeon 29.0.6 Генератор кода для связи Flutter с н…
  2. Oct 2, 2026photo post
  3. Oct 1, 2026Обзор пакетов на тему Rich Text, Markdown & HTML Editor appflowy_editor 6.2.0 Высоконастра…
  4. Oct 1, 2026Обновлённые пакеты за последние 24 часа jnigen 1.0.1 Инструмент для вызова Java API из Dar…
  5. Oct 1, 2026photo post
  6. Sep 30, 2026Как теплотехник в 50 лет стер границу между КИПиА и IT: пишем универсальный Android‑SCADA…
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 →