리액트 공식 웹 사이트에서는 리액트를
A JavaScript library for building user interfaces
라고 정의하고 있다.
한국말로는 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리이다.
자주 사용되는 기능을 정리해 모아놓은 것
사용자 인터페이스는 영어로 User Interface이며 보통 UI라고 한다.
사용자와 컴퓨터 프로그램이 서로 상호작용을 하기 위해 중간에서 서로 간에 입력과 출력을 제어해주는 것이 사용자 인터페이스이다.
사용자 인터페이스를 만들기 위한 기능 모음집을 UI 라이브러리 라고 하고, React가 대표적인 자바스크립트 UI 라이브러리이다.
대표적인 자바스크립트 UI 라이브러리에는 AngularJS, React, Vue.js가 있다.
AngularJS는 구글에서 만든 오픈소스 프로젝트로 자바스크립트 기반의 웹 개발 프레임워크이다. 2010년에 처음 출시되어 많은 곳에서 사용되었지만, 2018년에 LTS 모드에 돌입하였고, 2022년엔 LTS 마저 중단을 선언해 사실상 공식적인 지원이 종료되었다.
React는 Meta에서 만든 오픈소스 자바스크립트 UI 라이브러리이다. 2013년에 처음 출시되어 점점 사용률이 증가하다가 현재 가장 많이 사용되는 자바스크립트 UI 라이브러리가 되었다.
Vue.js는 Evan Yu라는 중국인 개발자 한 명이 시작한 오픈소스 프로젝트이다. 2014년에 처음 출시되어 현재 자바스크립트 대표 프레임워크가 되었다.
위에서 AngularJS와 Vue.js는 프레임워크라고 하였고, React는 라이브러리라고 하였다.
프레임워크와 라이브러리의 가장 큰 차이점은 프로그램의 흐름에 대한 제어 권한이다.
프레임워크는 흐름의 제어 권한을 개발자가 아닌 프레임워크가 갖고 있지만,
라이브러리는 흐름에 대한 제어를 하지 않고 개발자가 필요한 부분만 필요할 때 가져다 사용하는 형태이다.
라이브러리는 제어 권한이 개발자에게 있고 프레임워크는 제어 권한이 프레임워크에게 있다는 것이다.