본문 바로가기

WEB/JavaScript

라이브러리/프레임워크/API

프레임워크는 내가 안에 들어가서 사용하는것
라이브러리는 내가 가져와서 사용하는것


라이브러리는 톱, 망치, 삽같은 연장
사람이 들고 썰고, 바꿔들고 내려치고, 다시 바꿔들고 땅을 파고...

프레임워크는 차, 비행기, 배같은 탈것
사람이 타서 엔진 켜고, 기어 넣고, 핸들 돌리고, 운전하고...

도구를 쓸 땐, 급하면 썰어야 할 곳에 망치를 치든 땅 파야할 때 톱으로 땅을 긁어내도 됨
사람은 도구를 선택하는 입장이기 때문에, 어떤 도구를 사용하든 원하는 것을 만들어낼 수 만 있으면 됨.

반면에, 탈것은 정해진 곳으로만 다녀야 함. 차를 타고 하늘을 날거나, 배를 타고 땅으로 갈 수는 없음.
하지만, 그 목적에 맞게 만들어져 있기 때문에, 톱이나 망치를 들고 먼저 탈것을 만들어야할 필요가 없음.
그저 정해진 규칙에 맞춰서 엔진, 기어, 핸들만 잘 돌리면 됨.

라이브러리와는 달리 프레임워크는 이미 프로그래밍할 규칙이 정해져 있음.
예를 들어, 설정파일로 사용되는 XML에 어떤 태그를 써야하며, 어떤 함수를 추가적으로 작성해야하고,
소스 파일을 어느 위치에 넣어야하며, DB와 연동하기 위해 무엇을 써넣어야 하는지 정해져 있음.
보통 이런 대부분의 작업은 프레임워크가 하고자 하는 일에 비하면 아주 작은 일이며, 사람은 극히 일부분만 조정함으로써 목적을 달성할 수 있음.


공장(프레임워크) 에서 상품(JSP홈페이지)을 만들고,

상품(JSP홈페이지)를 만들기 위한 부품(라이브러리)이 필요하고,

부품(라이브러리) 및 상품(JSP홈페이지)를 만들기위해 서류(API)가 필요하다.

+라이브러리/api 개념

'WEB > JavaScript' 카테고리의 다른 글

thymeleaf + javascript 논리 연산자 에러  (0) 2018.06.26
json이란  (0) 2018.06.19
use strict란  (0) 2018.04.02
function, property, method 정의  (0) 2018.04.02
Closure  (0) 2018.03.30