결론부터 말하자면 홈페이지에서 소개하는 바와 같이 리액트는 라이브러리입니다.
- 라이브러리: 주로 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원들의 모임으로 공통으로 사용될 수 있는 기능들을 모듈화 한 것 입니다.
React
Jquery
- 프레임워크: 원하는 기능 구현에 집중하여 개발할 수 있도록 필요한 기능을 갖추고 있는 것, 일정한 형태를 가지고 다양한 형태의 결과물을 만드는 것이라고 할 수 있습니다. 즉, 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조입니다.
Angular
Vue
Spring
Bootstrap
✅둘 다 공통의 기능을 사용하여 결과물을 만드는 것으로 비슷해 보이지만 제어 흐름의 권한을 누가 가지고 있느냐가 핵심입니다. 라이브러리는 개발자가 필요한 기능을 원할 때 호출되지만 프레임워크는 정해진 프로그램의 틀에 맞게 사용자가 필요한 기능을 입력합니다. 즉 프레임워크에는 제어의 역전이 적용되어있습니다.
제어의 역전(Inversion Of Control)
: 전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출해 이용합니다. 하지만 제어의 역전이 적용된 구조에서는 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출합니다. 즉, 어떠한 일을 하도록 만들어진 프레임워크에 제어의 권한을 넘김으로써 신경써야 할 것을 줄일 수 있습니다.