핵심 요약
데브시스터즈가 프록시 기반 FE 클라이언트를 도입해 BE의 gRPC 호출을 동적으로 재현하고, code-gen 의존 없이 FE가 BE의 타입 시그니처를 그대로 사용할 수 있게 구현했습니다. 이를 통해 엔드포인트 작성 부담을 크게 줄이고 약 100만 줄의 JavaScript 코드를 삭제하는 성과를 얻었습니다.
구현 방법
- 재귀형 Proxy로 경로를 추적하고 apply로 RPC를 '/grpc'로 전달
- BE ApiClient 타입을 FE에서도 동일하게 사용 가능하도록 런타임 매핑 설계
- JSON 기반 직렬화 로직 아이디어를 병행해 경량화 시도
주요 결과
- 코드 규모 대폭 축소와 유지보수 비용 감소
- code-gen 의존성 제거로 부팅/런타임 부담 감소
- 엔드포인트 작성 필요성 감소로 개발 생산성 향상

