today's helen

seize!

web

SDK vs API

yooncandooit 2026. 7. 5. 16:31
반응형

무엇인가?

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/

반응형