라이브러리와 프레임워크의 차이점
라이브러리와 프레임워크의 결정적인 차이는 누가 누구를 컨트롤 하느냐이다. 내가 코드를 컨트롤 할수 있나 아니면 누군가 정해준 규칙을 따라야하나에 라이브러리와 프레임워크의 차이점이있다.
라이브러리
.png)
라이브러리의 대표적인 예는 제이쿼리이다. 코딩을 하다가 필요할때 제이쿼리를 불러 내가 코딩을 해 나간다. 라이브러리는 쉽게 대체될 수 있다. 예를들어 제이쿼리를 현제 ‘매우 단순한 제이쿼리 대체제’로 유명한 캐시로 바꾼다고 해서진행중인 프로젝트가 망가지거나 하지 않는다.
라이브러리는 일반적으로 아래와 같은 문장과 함께 표시된다. 개발자의 입맛에 따라 컨트롤하며 build 할 수 있다.
A JavaScript library for building user interfaces
프레임워크
프레임워크는 라이브러리와 달리 프로그래머가 프레임워크를 불러 사용하는 것이 아니다. 반대로 프레임워크가 프로그래머를 부른다고 설명할 수 있다. 프레임워크를 사용해서 일할때는 반드시 프레임워크의 규칙을 따라야한다. 프로그래머가 코드의 규칙을 결정하는 입장이 아니기 떄문이다.
프레임워크가 어디에 템플릿을 넣고, 컨트롤러를 넣고, 뷰를 넣어야 할지 모두 알려준다. 프레임워크가 알려준대로 하면 프로그램은 정상 작동한다.
.png)
프레임워크의 대표적인 예는 디장고이다. 어드민 패널을 만들고 싶다면 무조건 코드를 admin.py에 써야한다. 프로그래머가 이걸 바꿀 수는 없다. 디장고가 가지고 있는 규칙이기 때문이다.
프레임워크는 일반적으로 아래와 같은 문장과 함께 표시된다. 규칙과 문서가 따라오며 개발자는 이를 적극 수용해야한다.
The Web framework for perfectionists with deadlinses
결론
흐름에 대한 제어 권한이 어디에 있느냐에 차이에 따라 프레임워크와 라이브러리로 나뉜다. 전체적인 흐름을 자체적으로 가지고 있어 개발자가 그 안에 필요한 코드를 작성하면 프레임워크, 개발자가 흐름을 제어하여 필요한 상황마다 가져다 쓰면 라이브러리다.