컨셉의 차이다. -> 누가 누구를 컨트롤 하는가
라이브러리: 내가 코드를 컨트롤 하는 것. 모든 결정을 다 내린다.
내가 필요할 때 소환한다.
쉽게 대체할 수 있다.
ex) jQuery
웹 프레임워크: 누군가 정해준 규칙을 따라야 한다.
내가 프레임 워크를 부르는 것이 아니다. 프레임워크가 나를 부르는 것이다.
웹 프레임워크가 규칙을 정하고 그걸 나에게 알려준다.
ex) django
cf)
라이브러리 vs 프레임워크
라이브러리 : 집 지을 때 쓰는 재료. (남이 만들었든 내가 만들었든 간에.)
프레임워크 : 집 골조
정리
라이브러리와 프레임워크는 내가 외부의 도움을 받는다는 점에서 공통점이 있으나,
둘을 구분할 수 있는 차이점이 존재한다.
'누가 누구를 컨트롤 하느냐.'
라이브러리는 내가 컨트롤 하는 것. 내가 찾아가는 게 아니라 부르는 것(소환!)이라면,
프레임워크는 내가 컨트롤 당하는 것. 부르는 게 아니고 프레임워크의 부름에 찾아가는 것. 나는 프레임워크가 미리 정해둔 규칙에 따라 행동해야 한다.
댓글