본문 바로가기

EXPERIENCE/ETC

프레임워크(Framework), SDK, 라이브러리(Library), 플러그인(Plug-in), API 설명할 수 있을 때까지! (with. 차이점 및 예시)

728x90
728x90

 

 

 

 

728x90

 

 

 

 

 

 

 

 

 

면접을 볼 때마다 느끼는 나의 기본기 부족.. ㅎ

대락 이런거지~ 라는 정도를 머릿속으로는 알아도 이걸 남에게 설명하는 것은 쉽지 않다 ㅜㅜ

초등학교때부터 했던 생각이지만 역시 누군가에게 전달할 수 있어야만 해당 부분에 대해 제대로 안다고 할 수 있는 것 같다.

그리고 누군가에게 알려주는 것은 스스로의 공부에도 큰 도움이 된다!

 

그래서 오늘 얘기해볼 내용은 아래의 것들이다

프레임워크(Framework), SDK, 라이브러리(Library), 플러그인(Plug-in), API

 

딥한 내용은 차차 생각하고.. 우선 간단한 개념과 기본적인 내용을 제대로 알아보고자한다...!

 

 

 

 

 

 

 

정의

 

  • 프레임워크(Framework)

: 영어로 검색해보면 뼈대, 틀이라는 뜻을 지니고 있으며, 프로그램을 개발하기 위한 틀이라고 할 수 있다.

: 프로그램 개발을 편하게 할 수 있도록 환경을 구성하여 제공한다.

: 개발에 필수적이고 표준적인 설계나 구현을 재사용 가능하도록 제공한다 (설계,구현-라이브러리, API 등...)

 

  • SDK

: Software Development Kit의 약자로 해석하면 소프트웨어 개발 키트이다

: 소프트웨어 개발에 도움이 되는 다양한 소스(Source)와 도구 패키지를 모아둔 것

: 일반적으로 컴파일러, 디버거, API 등이 포함되며, 라이브러리/편집기/드라이버 등도 포함될 순 있다 

 

  • 라이브러리(Library)

: 개발을 진행할 때 특정한 부분/분야의 기능을 수행할 수 있도록 구성한 도구 모임

: 해당하는 분야의 기능들을 위해 함수나 클래스 등의 단위로 코드를 재사용 할 수 있게 모아두었다

 

  • 프레임워크(Framework)

: 영어로 검색해보면 뼈대, 틀이라는 뜻을 지니고 있으며, 프로그램을 개발하기 위한 틀이라고 할 수 있다.

: 프로그램 개발을 편하게 할 수 있도록 환경을 구성하여 제공한다.

: 개발에 필수적이고 표준적인 설계나 구현을 재사용 가능하도록 제공한다 (설계,구현-라이브러리, API 등...)

 

  • 플러그인(Plug-in)

: 기존의 프로그램에 특정 기능 추가하기 위해 만든 요소

: 자주 사용할만한 특정 기능을 그때 그때 찾아서 사용할 수 있도록 만들어둔 컴포넌트

 

  • API

: Application Program Interface의 약자로 특정 기능을 사용하기 위해 프로그램 내에서 정의하는 규약이다

: 프로그램이 다른 시스템과 소통 혹은 다른 시스템의 기능을 이용하기 위해 사용하는 언어 혹은 메세지 형식을 의미한다

 

 

 

 

 

 

예시 및 종류

 

  • SDK
분류  
예시 Flutter, 안드로이드 SDK, Java JDK, 카카오 SDK, Google SDK 등..

 

  • 라이브러리(Library)
분류  
예시 React, RxSwift, RxJava, import하여 사용하는 클래스

 

  • 프레임워크(Framework)
분류 Front-end Back-end Full-Stack
예시 Vue.js, Angular, React Native Spring, Spring Boot .NET

 

  • 플러그인(Plug-in)
분류  
예시 부가적으로 특정 기능을 편리하게 사용하기 위해 설치할 수 있도록 구현됨

 

  • API
분류  
예시 네이버/카카오에서 지도, 검색과 같이 해당 기능을 사용할 수 있도록 제공해주는 오픈API

 

 

 

 

 

 

차이점

 

  • 라이브러리 VS 프레임워크
라이브러리 프레임워크(Framework)
제어권(코드 흐름)이 사용자에게 있다.
동작 중 필요한 기능을 직접 사용하는 형식이다.
프레임워크에 맞추어 코드를 구현하여 동작한다.
코드가 프레임워크에 의해 사용되는 형식이다.

 

  • 플러그인 VS API
플러그인(Plug-in) API
모듈화된 개체를 직접 프로그램 내부에 설치해야 사용할 수 있다. 호출을 통해 외부에서 기능을 수행하고 결과를 전달받을 수 있다.

 

 

 

 

 

 

 

 

개념적 크기 비교

 

 SDK < 라이브러리(Library) = 프레임워크(Framework) < 플러그인(Plug-in) = API

 

개념적으로 다른 부분들이 많으나, 크기만을 생각하여 비교하자면 위와 같은 순서가 되지 않을까 싶다.

 

 

 

 

 

 

 

 

 

 

참고사이트

 

 

 

728x90
728x90