본문 바로가기

React

프레임워크와 라이브러리

프레임워크와 라이브러리 기준!!!

누가 누구를 컨트롤 하는가???

내가 코드를 컨트를 하는건가? 모든 결정을 다 내리고 있는가?

아니면, 누군가 정해놓은 규칙에 따르고 있는가?

이것이 기준이다. 

 

내가 코드를 컨트롤 하고 있다 === 라이브러리

라이브러리 정의는 개발에 필요한 것들을 미리 구현해 놓은 도구이다.

재사용이 가능한 기능을 미리 구현해놓고 필요한 곳에서 호출하여 사용 가능하도록 만들어진 집합이다. 

프레임워크와의 차이는 내가 필요할 때마다 부를 수 있고, 필요없어 졌을 때, 삭제에도 전체 코드에는 문제 없는것이 라이브러리이다. 

 

누군가의 규칙에 따라 코딩하고 있다 === 프레임워크 

프레임워크의 정의는 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 컨넥션 등의 기능들을 위해 뼈대(구조)를 제공한다. 개발자는 이러한 뼈대 위에서 코드를 작성해 원하는 애플리케이션을 개발할 수 있다. 

 

쉽게 말하면, 프레임워크는 템플릿을 어디에 넣고, 컨트롤러를 어디에 넣고, 뷰를 어디에 넣고, 코드를 어디에 넣어야할지 등등을 알려준다.

내가 컨트롤하는 건 없고, 규칙에 따라서 작성하면 정상작동을 한다. 

 

정리

라이브러리는 내가 필요할 때마다 부를 수 있는 것이고,

프레임워크는 규칙과 문서가 따라오는 것이며, 적극 수용해야 정상작동 하는 것이다. 

 

 

추가적 + (리액트는 라이브러리이다.)

공식문서에 들어가보면 react는 javaScript 라이브러리라고 정의를 내리고 있다. 

리액트는 내가 애플리케이션 UI를 빌드할 때 사용하려고 부르는 것이기 때문에 라이브러리로 명칭한다.

그리고 리액트는 폴더 구조나 컴포넌트명 같은 규칙이 없다.

 

사람들이 리액트를 프레임워크로 생각했던 이유를 찾아봤더니, 

리액트는 컴포넌트를 부른다. 그리고 나서 규칙을 알려주고 뭐가 틀리고 뭐가 맞는지 설명해준다.

내가 컴포넌트를 사용하면 리액트를 그걸 불러와서 스크린에 보여준다. 

리액트가 우리의 컴포넌트를 인터랙티브하게 만들어주고, states, props 같은걸 컴포넌트에게 주니까 프레임워크라고 생각하기도 한다.

 

근데뭐... 공식문서에서 라이브러리로 확정을 했으니, 라이브러리로 알아두는것이 좋을거같다. 

'React' 카테고리의 다른 글

ESLint에 대해서 알아가기  (1) 2023.07.12
React Hook과 Closure의 관계(feat. useState)  (0) 2023.06.28
Hoisting 이란?  (0) 2023.05.31
브라우저 workflow & virtual DOM - 01  (0) 2023.05.31
Virtual DOM 알아보기  (0) 2023.05.24