쓰기 쉬운 Toss Front SDK
이주함 · 토스 · 토스 기술 블로그
소개
SDK의 품질은 어떤 기능들을 제공하는가보다, 사용자가 그 기능을 어떤 형태로 쓰게 되느냐에 따라 갈립니다. 사용 형태를 고민하기 위해, 퍼사드(Facade) 패턴에 기반하여 쓰기 쉽게 SDK 메서드와 인터페이스를 구성하는 것이 중요한 방법론이 됩니다.
AI 핵심 요약
Toss Front SDK에서는 연동사가 서버를 열고 연결·메시지 리스너를 등록한 뒤 각각 정리해야 하는 절차가 휴먼 에러와 리소스 누수로 이어질 수 있었습니다. 이를 줄이기 위해 서버 시작, 콜백 등록, 연결별 정리와 종료를 묶는 `start()`·`stop()` 형태의 퍼사드 API를 설계하고, 내부 오케스트레이션을 SDK가 맡도록 했습니다. AWS CDK의 L1·L2처럼 흔한 사용 사례는 고수준 인터페이스로 단순화하되, 세밀한 제어가 필요한 경우에는 `open`, `close`, `listen` 같은 저수준 API를 함께 제공하는 균형을 제안합니다. 의도에 맞춘 인터페이스와 명확한 리소스 소유권은 사용성을 높이고 누수를 방지하며, 내부 구현 변경으로부터 사용자 코드를 보호하는 데 도움이 됩니다.
- SDK API는 기능 목록보다 사용자가 따라야 하는 절차와 리소스 정리 책임을 얼마나 줄이는지에 초점을 맞춰 설계하세요.
- 고수준 API는 서버 시작부터 리스너 등록과 정리까지 하나의 의도 기반 워크플로우로 묶을 수 있습니다.
- 특수한 요구사항에 대비해 고수준 추상화와 함께 원자적인 저수준 API라는 탈출구를 제공하세요.
- 리소스를 생성한 곳에서 닫도록 책임을 모으면 이벤트·리스너 누수와 정리 누락을 줄일 수 있습니다.
비슷한 학습 자료
How Documents Find Developers at Toss
한주연 · 토스 기술 블로그
es-toolkit: How a Small Internal Library Became a Global Project
박서진/이다용 · 토스 기술 블로그
100년 가는 프론트엔드 코드, SDK
최진영 · 토스 기술 블로그
토스의 접근성 문서 A11y Fundamentals 을 소개합니다 (오픈 기념 이벤트 ~9/10)
강민우 · 토스 기술 블로그
인터랙션, 꼭 넣어야 해요?
박연주/김지혜 · 토스 기술 블로그
크고 복잡한 제품, 과감하게 갈아엎기
이지윤 · 토스 기술 블로그