무엇인가?
SDK
:코드를 처음부터 작성하는 대신 개발 프로세스를 단축할 수 있는 구성 요소를 제공
ex: 통합 개발 환경(IDE)
API
: 소프트웨어를 기존 모듈 / 서드파티 서비스랑 연결하는 수단 제공
데이터 교환의 복잡성을 추상화하고 통신에서 데이터 무결성을 보장하는데 도움이 됨
차이점
SDK (소프트웨어 개발 키트)
디버거, 컴파일러, 라이브러리와 같은 플랫폼 별 구축 도구 세트
서드 파티 도구, 리소스를 환경으로 불러옴
_서드 파티 도구란? (3rd party):
제 3자 라이브러리, 제작사에서 만든 것이 아닌 다른 업체에서 만든 해당 툴 지원 라이브러리
외부 생산자를 가리키는 뜻으로도 사용
개발과 개발자 사이에는 플러그인, 라이브러리, 프레임 워크
서비스와 사용자 사이에는 응용 프로그램, 애플리케이션, 웹 서비스
_
API (애플리케이션 프로그래밍 인터페이스)
미리 정해진 프로토콜을 사용하여 두 소프트웨어 구성요소거 서로 통신할 수 있도록 하는 메커니즘
기존 소프트웨어와 통신하고 새전에 개발된 기능을 코드에 통합할 수 있음
공통점: SDK와 API 모두 소프트웨어 개발 프로세스를 효율적이고 협업하기 좋은 방향으로 만듦
사용법
개발자의 SDK 사용법
특정 플랫폼의 애플리케이션 또는 독립 실행형 솔루션을 구축할 때 SDK를 사용하여 소프트웨어 개발 주기를 단축할 수 있음
자연어 처리 애플리케이션과 같은 복잡한 애플리케이션을 구축할 때 SDK를 설치하면 사용 가능한 언어 학습 모델을 재작성 없이 사용할 수 있음
- Android 및 iOS의 모바일 앱 개발을 위한 모바일 중심 기능이 포함된 SDK
- 클라우드 애플리케이션 구축 및 배포를 위한 클라우드 플랫폼 SDK
- 특정 사용 사례에 맞는 언어, 프레임워크 또는 애플리케이션 유형별 SDK
개발자의 API 사용법
개발자는 API를 사용하여 다양한 시스템 및 마이크로서비스에 정보를 보내고 받을 수 있음
PI는 애플리케이션을 외부 환경에 노출하므로 데이터 요청을 보낼 때 충분한 보안 조치를 제공해야함
ex: 인증된 API 키와 인증 토큰을 사용하여 REST API _서버와 데이터를 교환할 수 있음
(_cf: REST API 는 웹 클라이언트와 서버 간에 일반 데이터를 교환하는 데 자주 사용되는 API 서비스)
API 워크플로
API를 사용하려면 제공된 함수를 사용해서 API 엔드포인트에 요청을 보내야 함
(API 엔드포인트란?
: 수신 API 요청을 처리하고 이에 응답하는 서버)
ex: API를 사용하여 외부 결제 게이트웨이를 통해 결제 거래를 처리할 수 있음
API는 결제 세부 정보를 전송하고 보안 결제 서버의 승인을 기다림
차이점
SDK(Software Development Kit)
- 디버거, 컴파일러, 라이브러리 등 플랫폼별 애플리케이션 구축 도구 세트
- 애플리케이션을 새로 만들기 전에 설치 필요
- 특정 언어나 플랫폼에 종속됨
- 새로운 애플리케이션 개발 목적
- 설치 공간 필요
API(Application Programming Interface)
- 두 소프트웨어 구성 요소 간 통신을 가능하게 하는 메커니즘
- 서드 파티 기능을 애플리케이션에 추가
- API 키를 신청하여 사용
- 교차 플랫폼 통신 지원
- 설치 필요 없음! 몇 줄의 코드로 사용 가능
참고 사이트: https://aws.amazon.com/ko/compare/the-difference-between-sdk-and-api/
'web' 카테고리의 다른 글
| 바닐라 JS에서 상태 관리를 어떻게 해야 할까? (0) | 2026.07.08 |
|---|---|
| HTML/CSS(Styled-Component) 프로젝트에 디자인 시스템 도입하기 (0) | 2026.07.08 |
| [React] 회원가입 폼을 구현하며⋯ (2) | 2026.07.07 |
| [Typescript] TS를 배워보자 (1) (0) | 2026.07.07 |
| 모듈과 번들, 그리고 번들링 도구(webpack, vite ⋯) (0) | 2026.07.05 |