SDK 연동 방식은 쉽게 말해 제공자가 만든 라이브러리(코드 패키지)를 직접 내 애플리케이션에 포함시켜서 기능을 붙이는 방식입니다.
1. SDK 연동 방식
- SDK = Software Development Kit
- 보통 기능을 제공하는 회사(결제, 지도, 로그인, 채팅, AI 등)가 API 호출 로직 + 데이터 처리 + 유틸 등을 하나로 묶어 라이브러리 형태로 제공합니다.
- 개발자는 이 SDK를 프로젝트에 설치(Import) 한 뒤, 제공되는 메서드·클래스를 호출해서 기능을 구현합니다.
- 장점
- API 호출, 인증, 오류 처리 등이 미리 구현돼 있어 개발 속도가 빠름
- 복잡한 기능(예: 결제 암호화, 지도 렌더링, 파일 업로드 등)을 쉽게 구현 가능
- 업데이트/버전 관리로 안정성 확보
- 단점
- SDK 크기만큼 앱 용량이 커짐
- 제공자의 업데이트 주기에 의존
- 특정 플랫폼/언어에 종속 (예: Android SDK는 iOS에서 못 씀)
2. 다른 연동 방식 비교
연동 방식특징장점단점
| API(HTTP) 직접 호출 |
REST API, gRPC, GraphQL 등 프로토콜로 직접 통신 |
가볍고 플랫폼 독립적 |
모든 인증/호출/파싱 로직을 직접 구현해야 함 |
| Webhook |
서버→서버 비동기 알림 방식 |
실시간 이벤트 수신 가능 |
서버가 항상 외부 접근 가능해야 함 |
| iframe / Widget 삽입 |
HTML/JS로 제공 기능을 내 페이지에 삽입 |
개발 거의 필요 없음 |
UI 커스터마이징 제한 |
| 플러그인(Plugin) |
CMS(WordPress 등), IDE, 브라우저에 설치하는 확장 모듈 |
설치만 하면 기능 사용 |
특정 환경 전용, 범용성 낮음 |
| CLI 도구 |
명령줄에서 호출해 개발·배포 자동화 |
스크립트/배치 작업 편리 |
UI 없는 환경에만 적합 |
💡 정리하면
- SDK = 코드 패키지를 프로젝트 안에 포함 → 내 코드 속에 기능을 흡수
- API 직접 호출 = 내 코드가 네트워크로 기능 요청 → 외부 서비스가 응답
- Webhook = 외부 서비스가 내 서버로 알림 푸시
- iframe/Widget = 외부 기능을 UI 포함 그대로 가져오기
📦 SDK 안에 들어있는 것들
SDK는 단순 소스코드 묶음이 아니라, 보통 다음을 포함합니다.
- API 호출 로직
- 인증 토큰 처리, 요청/응답 포맷 변환, 오류 처리, 재시도 로직 등
- 즉, API 문서를 보고 직접 작성해야 할 네트워크 코드가 이미 구현되어 있음
- 도메인별 유틸리티/헬퍼 클래스
- 예: 날짜·시간 변환, JSON 파싱, 암호화, 파일 변환, 이미지 처리 등
- 데이터 모델 정의
- 응답 구조에 맞춘 객체/클래스
- 예: User, Order, PaymentResult 같은 VO(Value Object) 클래스
- 리소스 파일 (플랫폼에 따라)
- 아이콘, 이미지, UI 컴포넌트, CSS, 폰트 등 (모바일/프론트엔드 SDK에서 자주 포함됨)
- 문서 & 샘플 코드
- 예제 프로젝트, README, Javadoc, Doxygen 등
- “이렇게 쓰세요” 가이드까지 패키지에 동봉되는 경우 많음
- 테스트 도구
- 일부 SDK는 Mock 서버, 로컬 시뮬레이터, 디버그 콘솔 포함
💡 정리
- API = 기능을 네트워크로 요청하는 규격
- SDK = 그 API를 쉽게 호출할 수 있도록 코드 + 부속품을 세트로 제공
- SDK는 보통 API 호출 소스 외에도 모델, 유틸, 리소스, 문서, 테스트 툴까지 포함된 개발 키트