Нарезка задач под целевое состояние: PWA, вход, хранилище
Роадмап: web-access переименована под приложение, которое ставится на телефон; заведена цель ready-notification — уведомление о готовности без открытого приложения. Беклог: десять задач. Многопользовательская цепочка (oidc-login, record-ownership, telegram-account-link), веб (json-api-for-spa, spa-skeleton, upload-and-status-screen, records-list-screen, installable-pwa), уведомления через apprise и ntfy, разведка выбора фреймворка. Очередь: долги, хранилище, вход, приложение. Решение сменилось с htmx на SPA, поэтому conventions/web-ui.md снята целиком и оставлена честной строкой до итога разведки. Открытые вопросы архитектуры, границы паспорта и триггеры метки ревью приведены в соответствие.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# 🔬 Выбор фреймворка для приложения
|
||||
|
||||
- **Тип:** research
|
||||
- **Категория:** Инфра
|
||||
- **Зачем:** Конвенция веб-UI написана под htmx, а решено делать SPA: до выбора фреймворка не заводится ни сборка, ни первый экран.
|
||||
- **Теги:** goal:web-access
|
||||
|
||||
Конвенция [web-ui.md](../../docs/conventions/web-ui.md) описывала htmx с прямым
|
||||
запретом на шаг сборки и реактивные фреймворки. Решение сменилось на SPA, и
|
||||
теперь эта конвенция ждёт переписывания — но написать её не под что, пока
|
||||
фреймворк не назван.
|
||||
|
||||
Разведка, а не задача: исход — знание и переписанная конвенция, а не работающий
|
||||
экран.
|
||||
|
||||
## Вопрос
|
||||
|
||||
Какой фреймворк берём под приложение на четыре экрана, которое собирается в
|
||||
статику, вшивается в бинарник Go и ставится на телефон как PWA.
|
||||
|
||||
## Куда ляжет ответ
|
||||
|
||||
`docs/research/spa-framework.md` — сравнение с числами: размер собранной статики,
|
||||
время холодной сборки, число зависимостей. Выбор и причина отказа от остальных —
|
||||
в `docs/adr/`, потому что переделка на другой фреймворк стоит дороже переписывания
|
||||
одного файла. Следом переписывается `docs/conventions/web-ui.md`, и до тех пор
|
||||
она стоит честной строкой «фреймворк не выбран».
|
||||
|
||||
## Рамки
|
||||
|
||||
Сравнение идёт на одном и том же пробном экране: список записей с опросом
|
||||
состояния. Кандидаты названы человеком; сегодня в разговоре звучали Svelte, Vue
|
||||
и React, все с Vite. Мера — размер статики, простота вшивания в `go:embed` и
|
||||
цена шага сборки в гейте, а не популярность.
|
||||
Reference in New Issue
Block a user