본문 바로가기

공부/TIL-D

프레임워크 라이브러리 차이

저는 angular 프레임워크와 react 라이브러리를 학습하였습니다.

 

프레임워크와 라이브러리 차이에 대한 질문에,

 

프레임워크는 잘 준비된 틀과 같습니다. 보통 붕어빵 틀과 같은 비유를 드는데, 밀가루의 양, 반죽상태에 따라 달라지지만

 

틀을 통해 나온 붕어빵들은 대개 비슷한 모양의 결과물이 나옵니다. 이는 장점이자 단점이기도 합니다

 

잘 준비되어있으므로 생산성이 증가되며 다른 고민할 필요 없이 프레임워크에 대한 사용법을 이해하면 됩니다.

 

angular의 경우 라우팅을 한다던가, 상태관리를 할 때에 있어 다른 라이브러리 필요 없이 프레임워크 내에 기능이 존재합니다.

 

반면 라이브러리는 요리로 비유하자면 조미료처럼 활용가능한 도구에 불과합니다.

 

react의 경우 라이브러리 이기때문에 react-router라던가, redux 같은 추가적인 라이브러리를 설치하여 결과물을 내는데

 

이는 자유도가 높은 장점을 지니게 됩니다.

 

가장 큰차이는 제어의 흐름이 어디에 있냐이며 프레임워크는 제어를 프레임워크가, 라이브러리는 애플리케이션이 흐름을 제어합니다.

 

 

 

[참고]

아직까지 개념이 모호하다면 좀 더 구체적인 예를 들어보도록 하겠습니다.

 

일단 모든 소스코드든 라이브러리든 간에 메모리에 들어가는 정보는, 컴파일러나 인터프리터에게는 호출 가능한 모듈일 뿐입니다. 

 

이런 물리적인 계층을 보지말고, 그 위의 논리적인 계층을 봐야 합니다.  

 

라이브러리는 톱, 망치, 삽같은 연장입니다.

 

사람이 들고 썰고, 바꿔들고바꿔 들고 내려치고, 다시 바꿔 들고 땅을 파는 겁니다.

 

프레임워크는 차, 비행기, 배같은 탈 것입니다.

 

사람이 타서 엔진 켜고, 기어 넣고, 핸들 돌리고, 운전하거나, 조종하거나 해야 합니다.

 

도구를 쓸 때, 급하면 썰어야 할 곳에 망치를 쳐도 됩니다. 땅 파야할 때 톱으로 땅을 긁어내도 됩니다.

 

사람은 도구를 선택하는 입장이기 때문에, 어떤 도구를 사용하든 원하는 것을 만들어낼 수 만 있으면 됩니다.

 

반면에, 탈것은 정해진 곳으로만 다녀야 합니다.

 

차를 타고 하늘을 날거나, 배를 타고 땅으로 갈 수는 없습니다.

 

하지만, 그 목적에 맞게 만들어져 있기 때문에, 톱이나 망치를 들고 먼저 탈것을 만들어야 할 필요가 없습니다.

 

그저 정해진 규칙에 맞춰서 엔진, 기어, 핸들만 잘 돌리면 되는 것입니다. 



출처: https://webclub.tistory.com/458 [Web Club]

 

 

반응형

'공부 > TIL-D' 카테고리의 다른 글

0620  (0) 2019.06.20
@Input @Output  (0) 2019.06.20
float , float 부작용 해제하는 방법  (0) 2019.06.03
DOCTYPE의 변화  (0) 2019.06.02
style  (0) 2019.06.01