Хочу сравнить фреймворк Point0 и библиотеку tRPC. Делаю это, потому что квери и мутации в Point0 очень похожи по DX на tRPC, но более удобны ввиду того, что всё же Point0 это фреймворк и он может обладать возможностями, которыми библиотека не может:
- Объявлять квери вместе с серверным кодом прямо в клиентских файлах, или наоборот
- Автоматически гидрировать и дегидрировать квери клиент при включении SSR
- В мутациях отправлять файлы автоматически превращая данные в FormData и обратно
- Иметь стабильные индивидуальные урлы для квери и мутаций
- Не заставлять зависать редактор кода при увеличении количества эндпоинтов
- Возвращать в ответах с сервера на клиент целые серверные компоненты или интерактивные острова
- Управлять внешним видом состояний загрузки на страницах и в компонентах
Кроме того, что описано в этой статье, Point0 может много чего ещё, но об этом в других статьях. Сейчас фокусируемся на сравнении с tRPC. Предполагается, что вы с tRPC более менее знакомы, но ниже я всё равно буду показывать примеры реализации на tRPC, чтобы сравнения были видимыми.