Вчера я написал, что строю DartWay в открытую. Прежде чем показывать код и фичи — стоит сказать, что это вообще такое и откуда взялось.
Больше трёх лет назад мы начали делать fullstack на Dart — не отдельные экраны, а продукты целиком: клиент, сервер, база, реалтайм, деплой. За эти годы, через изрядное количество боли, я пришёл к двум вещам.
Первое. Большинству разработчиков — даже сильных — не хватает опыта, чтобы грамотно спроектировать fullstack. Это отдельная компетенция: не «выучить ещё один фреймворк», а понимать, как протянуть данные от базы до виджета так, чтобы на втором десятке экранов это не начало рассыпаться. За месяц такому не научишься.
Второе — и оно оказалось важнее. Все самые сложные вещи в проектах одинаковы. Авторизация, права доступа, реалтайм-синхронизация, CRUD, пагинация, фильтры — из проекта в проект это буквально одна и та же задача. У каждой есть несколько разумных способов решения. Достаточно один раз выбрать хороший — и дальше переиспользовать везде, не изобретая заново и не наступая на те же грабли.
Так и появился DartWay.
Это fullstack-фреймворк на Dart, где самые сложные и самые повторяющиеся куски уже решены — один раз и по-нормальному. Не кодогенератор и не низкоуровневая обвязка: слой, который берёт на себя ровно ту архитектуру, которую большинство собирает годами и на своих ошибках. Остаётся писать продукт, а не сантехнику под ним.
А дальше покажу уже на конкретном коде — как в этом стеке фича живёт целиком, от сервера до живого списка на экране, в несколько десятков строк.
Post #138
457
- 🔥 8
- ❤ 1
- 🤮 1
- 💩 1
- 🤡 1