본문 바로가기

Theory/Infrastructure & Network

프레임워크와 라이브러리, API의 차이점

Hi, There!
안녕하세요, 바오밥입니다.


목차

  1. 개요
  2. 본문
  3. Reference

개요

개발은 보통 어떠한 도구를 이용하는 경우가 많습니다.

그 도구의 역할과 목적에 따라 라이브러리, 프레임워크, API라고 부릅니다.

근데 정작 이 3가지의 정확한 차이점을 인지하고 있지 못하는 경우가 있어 정리하게 되었습니다.


본문

프레임워크란?

프레임워크는 애플리케이션을 개발할 때에 빈번히 쓰여지는 범용 기능들을 한꺼번에 제공하여 애플리케이션의 토대로서 기능하는 소프트웨어를 말합니다.

프레임워크를 이용하면 독자적으로 필요로 하는 부분만 개발하면 되기 때문에 개발 효율성이 증대됩니다.

 

프레임워크의 특징

  • 공통적인 개발 환경을 제공합니다.
  • 개발할 수 있는 범위가 정해져 있습니다.

 

라이브러리란?

개발자가 사용할 수 있는 API들을 종류나 목적에 따라 나누어 정의한 API 묶음을 말합니다.

쉽게 말해 재사용 가능한 코드의 집합을 뜻합니다.

 

라이브러리의 특징

  • 개발하는 데 필요한 것들을 모아둔 일종의 저장소를 말합니다.
  • 목적에 맞는 라이브러리를 필요할 때 호출해서 사용합니다.

 

API란?

다른 프로그램이 제공하는 기능을 제어할 수 있게 만든 인터페이스를 말합니다.

API는 프로그램과 운영체제를 연결해 주는 다리 역할을 수행합니다.

 

API의 특징

  • 다른 프로그램(운영체제)과 연결 해주는 다리 역할을 합니다.
  • 구현이 아닌 제어를 담당하고 있습니다.
  • API를 조합해 획기적인 프로그램을 만들 수 있습니다.
    예시) 버스 시간 알려주는 프로그램은 공공 API를 이용한 프로그램입니다.

 

프레임워크, 라이브러리, API의 예시

프로그램 개발 과정을 아파트를 짓는 과정이라고 생각합시다.

아파트를 튼튼하고 빠르게 짓기 위해서는 먼저 집의 기본 토대를 구축해야 합니다.

하지만 같은 형태의 집을 여러 번 지을 때마다 기본 토대를 구축한다면 오랜 시간이 걸릴 것입니다.

따라서 이미 구축되어 있는 집의 기본 토대를 이용하여 내부만 새로 건축하는 것이 이상적입니다.

이때 집의 기본 토대를 애플리케이션 개발에서는 프레임워크라고 합니다.

 

이제 내부를 모두 건축하였으니, 집 안에 전자제품들을 넣을 것입니다.

그 중 거실에 있는 스마트 TV를 예로 들어보겠습니다.

스마트 TV는 다양한 기능들이 집합되어 만들어진 전자제품입니다.

*다음 채널로 이동, 이전 채널로 이동, 볼륨 업, 볼륨 다운, 유튜브 검색 등

이때 이 다양한 기능들의 집합체인 스마트 TV를 라이브러리라고 합니다.

더불어 다양한 기능들을 제어를 하는 TV 리모콘을 API라고 합니다.


Reference

'Theory > Infrastructure & Network' 카테고리의 다른 글

MAPI와 IMAP의 차이  (0) 2021.08.09
MPA, SPA의 이해  (0) 2021.08.02
웹 표준과 웹 접근성  (0) 2021.07.30
Broswer Rendering의 이해  (0) 2021.07.28
Load Balancer의 이해  (0) 2021.07.26