본문 바로가기
공부/computer science

API, SDK, Library, Framework

by 마자용 2022. 9. 2.

뭔가 오랜만에 포스팅을 하는 듯한 느낌이네요...

블로그에 잘못된 정보도 몇몇 있고 중구난방인 느낌이라 조만간 정리를 한 번 해야할 것 같습니다 😅

아무튼 오늘은! 그간 헷갈렸던 API, SDK, Framework, Library 의 차이점에 대해 정리해보도록 하겠습니다.

 

 


 

API

Application Programming Interface 의 약자입니다.

응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스를 뜻합니다.

한 마디로 누군가가 쓸 수 있도록 제공하는 것이라고 할 수 있습니다. 프로그램 사이에서 연결을 시켜주는 다리인 셈입니다.

예시) API 명세서, Open API (지도 API, 쇼핑 API 등)

때문에 외부에서 호출하여 사용할 수 있도록 만들어졌습니다.

예시) Open API (= 앱이나 웹에서 파라미터를 붙이는 식으로 호출해 사용)

특징

  • 구현과 독립적으로 사양만 정의되어 있다.
  • API에 따라 접근 권한이 필요할 수 있다.

 

SDK

Software Development Kit의 약자입니다. (= 소프트웨어를 만드는 키트)

API를 담고 있습니다.

 

Library

도서관이라는 의미입니다. (장난입니다...)

응용 프로그램 개발을 위해 필요한 기능(= 함수)들을 모아 놓은 소프트웨어를 뜻합니다.

때문에 API를 모은 것도 하나의 라이브러리가 될 수 있습니다.

특징

  • 독립성을 가진다 (해당 라이브러리는 다른 라이브러리를 의존하지 않으므로)
  • 필요 시 응용 프로그램이 능동적으로 라이브러리를 사용한다

 

Framework

frame (틀, 뼈대) + work (일(하다))

응용 프로그램이나 소프트웨어 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경을 뜻합니다.

개발자는 이 틀 위에서 원하는 작업을 수행하기 위한 코드를 작성하면 됩니다.

특징

  • 상호협력하는 클래스와 인터페이스의 집합이다.
  • 응용 프로그램이 수동적으로 프레임워크에 의해 사용된다 (= 프레임워크가 할 일을 다 한 다음에 → 개발자가 작성한 코드를 호출)

 

정리

라이브러리와 API의 차이점은 구현 로직의 유무

라이브러리와 프레임워크의 차이점은 응용 프로그램의 주도권을 누가 가지고 있느냐

 

 


아래 링크를 참고하여 정리했습니다 🙇‍♀️

[10분 테코톡] 🙆‍♀️티버의 API vs Library vs Framework

Module, Library, Framework, SDK, API 간단 용어 정리

SDK vs API vs Framework vs Libaray ?

댓글