3세대 웹이 나오게 된 이후 우리는 정적인 웹에서 동적이 웹으로 빠르게 변화하였다. 

이때부터 눈에 보이는 부분(ux, ui)를 담당하는 프론트엔드와 데이터의 가공, 관리를

담당하면 백엔드 영역으로 분리가 되기 시작했다. 

그렇게 생태계가 형성되고 더 쉽고 빠르게 프로그래밍을 할 수 없을까?

고민을하다 '프레임워크'라는 틀이 생기게 되었다. 

 

프레임워크란 무엇일까?

프레임하면 바로 '틀' 이라는게 떠오른다. 

그럼 work의 뜻은? 바로 '일하다'

프로그래밍에서 프레임워크는 일정하게 짜여진 틀, 

뼈대를 가지고 일한다. 라는 느낌을 받고 가면 될 것이다.

 

쉽게 말하면 장난감키트? 같은 느낌이다. 

안에 모든 부품이 들어있고, 우리는 그걸 보고 조립하면 되는 개념이다.

즉, 프레임워크는 '제공받은 일정한 요소와 틀, 규약을 가지고 무언가를 만드는 일' 

이라고 정의할 수 있다. 

런데 우리가 장난감을 만들 때 자기 손으로 만들 든, 

아빠한테 도와달라고 부탁을하든, 망치를 사용하든, 전혀 상관이 없다. 

그냥 내가 편한대로 알맞은 도구를 써서 만들기만 하면 되는것이다.

이때 이 편한 도구가 바로 '라이브러리'이다.

 

라이브러리는 도구의 모음이라 생각하면 쉽다. 

프레임워크를 가지고 프레임워크에서 제공하는 요소와 그것을 사용하기 위한 

약속만 지킨다면 그밖에 나머지는 어떤 라이브러리를 가져다가 

써도 어떤 패키지를 가져다가 써도 상관이 없는 것이다.

 

그럼 프레임워크와 라이브러리의 차이점과 공통점은 뭘까?

차이점은? 자유도이다. 이것이 바로 프레임워크와 라이브러리의 

결정적 차이이다. 

 

하지만 결국 둘다 프로그램을 쉽게 만들기 위해서 

만드는 것들이라는 점에서 공통점이 있다. 

 

프레임워크 : 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램
라이브러리 : 프로그램을 개발하기 위해 쓰는 공구와 같은 도구들
공통점 : 프로그램을 쉽게 만들 수 있게 하는 공통된 목적이 있음
차이점 : 자유도, 프레임워크는 꼭 써야되는 것과 지켜야되는 룰이 있다. 라이브러리는 쓰든 안 쓰든 자기 마음이다.

 

복사했습니다!