인턴생활을 하면서, 팀장님께
"API 만드는거 자신있습니다!"라고 외친적이 있다.
하지만 고민을 해보자... 대체 API는 무엇일까?
어떤 특정 열할을 해주는 모듈을 만드는 것?
클라이언트가 동작할 수 있도록 처리를 해주는 소프트웨어?!
대충은 알고 있으나, 매번 SDK와 혼란스러울 때가 있었다.
매번 검색을 해보지만, 매번 잊어버린다.
이번 기회로 제대로 기억을 해보자.
📌What is API?
API(Application Programming Interface)
프로그램에서 사용할 수 있는 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스이다.
즉, 어떤 기능을 제어 및 제공하는 인터페이스이다. 그리고 모듈화하여 누구나 쉽게 사용할 수 있도록 제공한다.
** RESTful API 는 REST를 기반으로 만들어진 API입니다.
ex) DB가 update되었을 때, 관리자에게 메일로 alert를 보내는 것
ex) 배달의 민족 앱에서 음식이 도착하였을 때, 사용자에게 alert을 보내는 것
📌What is SDK?
SDK(Software Development Kit)
소프트웨어 개발 도구 모음이다. SDK에는 API, IDE, 문서, 라이브러리 등등 모든게 포함 될 수 있습니다.
때문에 프로그램 및 응용 프로그램 개발의 복잡성을 줄이는 강력한 기능 집합입니다.
즉, 소프트웨어를 만들기 위한 도구 모음이 SDK입니다.
ex) iOS SDK를 다운로드하면 iOS 애플리케이션을 만드는 데 유용한 모든 도구 제공 + android SDK ...
ex) 네이버 로그인을 위한 SDK
정리를 해보자면, SDK는 보다 API보다 큰 범위를 모두 포괄한다. API가 도구를 이용하여 부품 하나를 수리하는 역할 이라면, SDK는 부품과 도구 그리고 수리방법을 모두 가지고 있는 도구상자라고 생각하면 될 것 같다.
'개발' 카테고리의 다른 글
Error handling - nestJs + GraphQL (1) | 2023.07.17 |
---|---|
[개발] 주니어 개발자로 내가 자주하는 실수 및 경험 - 기록편 (0) | 2023.05.31 |
[슬기로운 나름의 신입 사원 생활] IDS 2023 - 출국편 : 내가 해외 출장을 떠나다! (0) | 2023.03.31 |
[한국관광공사] 2022 관광데이터활용 공모전 최우수상 수상 (0) | 2022.10.10 |
[Notion] 노션 한국어 입력 오류 (1) | 2022.05.17 |