IT정보

Library VS Framework

narang111 2021. 12. 6. 16:08

라이브러리와 프레임워크 차이는 뭘까??

 

라이브러리 프레임워크는 둘 다 누군가 써놓은 코드를 우리가 가져다가 쓰는 것들이다.

 

차이점은 누가 누구를 컨트롤 하는가에 따라서 생긴다.

- 우리가 코드를 컨트롤 하는건가? 우리가 결정을 하는건가?

- 누군가 정해준 규칙을 따라하고 있는가?

 

 

라이브러리

라이브러리의 가장 좋은 예시는 jQuery 이다. 

jQuery 는 웹 사이트에 인터랙티브한 요소를 넣을 수 있다

웹 사이트를 코딩하면서 내가 필요할 때 제이쿼리를 부른다. 그리고 "내가" 코딩을 해나간다.

라이브러리는 다른 것으로 대체 할 수 있다.

 

쉽게 비유 하자면 톱, 망치, 삽 같은 도구이다. 사람들은 도구를 사용하여 썰고, 박고, 땅을 판다. 급할 때는 톱으로 못을 박을 수도 있다.

 

프레임워크

프레임워크는 프레임워크가 우리를 부른다.

프레임워크가 어디에 코드, 템플릿, 컨트롤러, 뷰 등등을 넣어야하는지 알려준다.

내가 컨트롤 하는 것은 없다 규칙을 따라갈 뿐이다.

 

제일 좋은 예시는 django 이다. 장고 웹프레임워크는 규칙이 정말 많다.

장고에서 admin 패널을 만들고 싶다면 무조건 코드를 admin.py를 써야한다.

url을 바꾸고싶다면 파일명 url.py에 가야한다.

왜냐하면 장고가 시작할 때 해당 파일들을 읽기 때문이다.

이걸 잘 준수해야 admin 패널 url이 잘 작동하는 것이다.

 

 

 

"내가" 라이브러리를 부르는 것이고 프레임워크가 "나"를 부르는 것이다.

 

 

 

How about React?

React 사이트에 가면 React는 라이브러리라고 한다.

어플리케이션의 UI를 빌드할 때 React를 부른다 이 때는 라이브러리가 되는 것이 맞다.

리액트틑 폴더구조나 컴포넌트명이나 그런게 없다.

하지만 React가 우리가 써놓은 컴포넌트를 불러서 스크린에 보여준다. 이 떄의 규칙도 알려준다. 

이 경우엔 React를 프레임워크로도 부를 수 있다.

 

->그래서 React는 회색같은 존재이다. Vue도 마찬가지이다.