정답은 React 공식 홈페이지에서 확인할 수 있다.
React의 공식 홈페이지에서는 React가 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리 라고 소개되어 있다.
먼저 프레임워크와 라이브러리에 대해 간단히 알아보자.
⚙ 프레임워크(Framework)
프로그램의 기본 구조나 뼈대이다.
프로그래밍을 진행할 때 어느정도의 필수적인 구조를 제공해 주기 때문에 프로그래머들은 이 프레임워크의 뼈대 위에서 코드를 작성하여 프로그램을 개발한다. 즉 개발시 필요한 부품과 메뉴얼을 제공하는 등 프로그래머들을 도와주는 기반이 되는 역할을 한다.
🛠 라이브러리(Library)
개발시 자주 사용하는 기능들을 모아 잘 정리해둔 장소이다.
특정 공간에 들어가서 사용한다는 느낌이 더 강하다고 말할 수 있으며, 반복적인 코드 작성을 없애기위해 언제든지 필요한 곳에 호출하여 사용할 수 있도록 class나 function으로 구성되어 있다.
즉, 프레임워크는 정해진 프로그램의 틀에 맞게 개발자가 필요한 기능들을 입력하는 것이고 라이브러리는 개발자가 필요한 기능을 원할 때 호출하는것이다.
"대부분의 JavaScript 기반 언어는 프레임워크인데 React는 왜 라이브러리라고 하는것일까?"
React도 프레임워크처럼 프로그램의 기본적인 틀은 정해져있다. 하지만 다른 많은 프레임워크들이 기본적으로 내장하고 있는 기능들이 없어 프레임워크가 되기위한 조건들이 충족되지 않았다. 그래서 프레임워크에서 제공하는 여러 기능들을 구현하기 위해서는 다른 여러 라이브러리와 같이 사용해야 기능을 구현할 수 있게된다.
또한 React는 라이브러리의 특징 중 하나로, 프로그램 흐름에 다른 작업을 추가하거나 그렇게 하지 않음으로서 프로그램의 흐름에 변화를 주는 것이 가능하기 때문에 React는 프레임워크가 아닌 라이브러리로 분류되었다.