tRPC: Обзор
tRPC (TypeScript Remote Procedure Call) — это библиотека для создания полностью типобезопасных API без необходимости генерации кода или runtime-схем. Главное преимущество tRPC состоит в том, что TypeScript-типы автоматически распространяются от сервера к клиенту, исключая рассинхронизацию между ними.
Что такое end-to-end типобезопасность?
Заголовок раздела «Что такое end-to-end типобезопасность?»Когда вы разрабатываете API с использованием REST или GraphQL, вам приходится вручную описывать типы на клиенте или использовать инструменты генерации кода. tRPC решает эту проблему принципиально иначе: поскольку и сервер, и клиент написаны на TypeScript, типы процедур становятся доступны на клиенте автоматически — через механизм вывода типов TypeScript.
Без генерации кода
Заголовок раздела «Без генерации кода»В отличие от GraphQL (где нужны codegen-инструменты вроде graphql-codegen) или OpenAPI (где нужен swagger-codegen), tRPC работает напрямую с TypeScript. Вам не нужно запускать дополнительные команды при каждом изменении API — изменения в типах сервера мгновенно отражаются на клиенте.
Почему tRPC?
Заголовок раздела «Почему tRPC?»tRPC идеально подходит для проектов, где сервер и клиент находятся в одном монорепозитории или написаны на TypeScript. Он устраняет целый класс ошибок, связанных с рассинхронизацией типов между слоями приложения.
Что вы изучите в этом курсе
Заголовок раздела «Что вы изучите в этом курсе»В этом курсе мы последовательно изучим: основы tRPC — роутеры, процедуры, типизацию; валидацию входных данных с помощью Zod; контекст и middleware для аутентификации; обработку ошибок; подписки через WebSocket; интеграцию с React и Next.js; тестирование и развёртывание.