본문 바로가기
버전: 9.x
비공식 베타 번역

이 페이지는 PageTurner AI로 번역되었습니다(베타). 프로젝트 공식 승인을 받지 않았습니다. 오류를 발견하셨나요? 문제 신고 →

tRPC

End-to-end typesafe APIs made easy

codecovGitHub LicenseGitHub Stars

Watch Video

Alex / KATT and Prisma's Mahmoud Abdelwahab doing a deep dive into tRPC.

소개​

tRPC allows you to easily build & consume fully typesafe APIs, without schemas or code generation.

TypeScript와 정적 타이핑이 웹 프로그래밍의 핵심 모범 사례로 자리잡아감에 따라, API 영역은 주요 문제점으로 부상했습니다. 우리는 API 엔드포인트를 정적으로 타이핑하고 클라이언트-서버(또는 서버 간)에서 해당 타입을 공유할 더 나은 방법이 필요합니다. 현대 TypeScript의 모든 힘을 활용하는 타입 안전 API 구축을 위한 간결한 라이브러리를 만들기 시작했습니다. tRPC를 소개합니다!

기존 REST나 GraphQL의 대안​

현재 GraphQL은 TypeScript에서 타입 안전 API를 구현하는 주류 방식입니다(그리고 놀랍습니다!). GraphQL은 언어 중립적인 API 구현 사양으로 설계되었기 때문에 TypeScript 같은 언어의 힘을 완전히 활용하지는 못합니다 - 자세히 알아보기.

프로젝트가 풀스택 TypeScript로 구축되었다면, 코드 생성에 의존하지 않고도 클라이언트와 서버 간에 타입을 직접 공유할 수 있습니다.

기능​

  • ✅  철저히 테스트되어 프로덕션 준비 완료.

  • 🧙‍♂️  클라이언트 측에서 입력, 출력, 오류에 대한 완전한 정적 타입 안전성 및 자동완성 지원

  • 🐎  빠른 개발 경험 - 코드 생성, 런타임 비대화, 빌드 파이프라인이 필요 없음.

  • 🍃  가벼움 - tRPC는 종속성 없으며 클라이언트 측 용량이 매우 작음.

  • 🐻  기존 브라운필드 프로젝트에 간편하게 통합 가능

  • 🔋  기본 제공 - React.js/Next.js/Express.js/Fastify 어댑터 포함. (단, tRPC는 React에 종속되지 않으며 다른 라이브러리를 위한 수많은 커뮤니티 어댑터가 존재함)

  • 🥃  구독(Subscriptions) 지원

  • ⚡️  요청 배칭(Request batching) - 동시에 발생한 요청을 자동으로 하나로 결합

  • 👀  참고용이나 시작점으로 활용할 수 있는 다수의 예시 제공