프레임워크란 ?
개발할 때에 빈번히 쓰여지는 범용 기능을 한꺼번에 제공해서 개발 효율의 향승을 목표하는 소프트웨어 환경
프레임워크 특징
- 공통적인 개발환경을 제공한다. (개발 편의성)
- 개발할 수 있는 범위가 정해져 있다.
- 제어의 역전이 발생한다. (어플리케이션 동작이 수동적으로 동작한다.)
대표적인 프레임워크
- 자바기반의 스프링 프레임워크
- 파이썬 기반의 장고
- 자바스크립트 기반의 노드JS
라이브러리란 ?
개발자가 사용할 수 있는 API들을 종류나 목적에 따라서 나누어 정의한 API 묶음.
라이브러리는 시스템에 기본적으로 설치되어 있는 기본 라이브러리와 제조사나 외부 메이커에 의해서 만들어지는 확장 라이브러리로 나뉨
( 쉽게 설명하면 재사용이 가능한 코드의 집합)
라이브러리의 특징
- 개발하는 데 필요한 것들을 모아둔 일종의 저장소
- 필요할 때 호출해서 사용한다.
API란
응용프로그램에서 사용할 수 있도록 운영체제나다른 프로그램이 제공하는 기능을 제어할 수 있게 만든 인터페이스 ( 개발할 때 목적에 맞는 라이브러리를 호출해서 사용, 흐름을 제어)
API 특징
- 다른 프로그램과 연결 해주는 다리 역할
- 구현이 아닌 제어를 담당
- API를 조합해 원하는 프로그램을 만들 수도 있다.
집 짓기 - 목적
- 3개의 방, 1개의 화장실이 존재해야 한다. 평면도(프레임 워크)
- 여름을 대비해 에어컨이 있으면 좋겠다. 기존 제품 (외부 라이브러리)
- 조명, 가전제품 등을 제어할 수 있는 리모컨이 존재해야 한다. (API)