REST и серверное состояние
Библиотеки вроде TanStack Query берут на себя кэш ответов, дедупликацию одинаковых запросов, повторы, обновление при возврате на вкладку и инвалидацию после изменений. Оптимистичные обновления — показать результат сразу и откатить при ошибке.
GraphQL
Клиент сам описывает, какие поля нужны, — один запрос вместо нескольких и без лишних данных. Цена — сложнее кэширование и сервер, риск тяжёлых запросов. Клиенты: Apollo, urql.
Реальное время
| способ | когда |
|---|---|
| опрос (polling) | редкие обновления, простота |
| Server-Sent Events | поток с сервера к клиенту: уведомления, ответы LLM |
| WebSocket | двусторонний обмен: чаты, совместное редактирование |
WebSocket требует переподключения с паузой, восстановления пропущенных событий и учёта балансировщиков.
Ещё
- Генерация типов клиента из OpenAPI или схемы GraphQL — фронт и бэк не расходятся.
- Пагинация курсором для бесконечных лент.