React(리액트)란?
React(리액트)란?
사용자 인터페이스를 만들기 위한 JavaScript 라이브러리
리액트는 SPA(Single Page Application) 방식으로써, 여러 개의 페이지를 사용하며 새로운 페이지를 로드하는 기존의 MPA 방식과 달리 새로운 페이지를 로드하지 않고 하나의 페이지 안에서 필요한 데이터만 가져오는 형태를 가진다.
프레임워크 vs 라이브러리
- 프레임워크
- 어떠한 앱을 만들기 위해 필요한 대부분의 것을 가지고 있는 것
- 앱을 만드는 데 필요한 대부분의 라이브러리를 갖고 있다.
- 라이브러리
- 어떠한 특정 기능을 모듈화 해놓은 것
- 특정 기능을 위해 모듈화 되어 있다.
프레임워크와 라이브러리
위의 그림을 보면 프레임워크는 라이브러리를 포함하고 또한 우리가 작성한 소스 코드를 호출한다.
소스 코드는 어떠한 기능을 구현하기 위해 라이브러리를 호출하게 된다.
리액트가 라이브러리인 이유
리액트는 전적으로 UI를 렌더링하는 데 관여하기 때문이다.
그리고 화면을 바꾸는 라우팅은 react-router-dom
모듈을 사용하며, 상태 관리를 위해서는 redux
, mobx
등 여러 모듈을 사용하며, 빌드를 위해서는 webpack
, npm
등등, 테스팅을 위해서도 Eslint
, Mocha
등을 이용하기 때문에 리액트는 프레임워크가 아닌 라이브러리이다.
리액트를 사용하는 이유
리액트는 가상 DOM을 활용하여 성능을 크게 향상시킨다. state
라는 상태 값이 변경될 때 전체 UI를 다시 렌더링하는 것이 아니라, 필요한 부분만 실제 DOM과 비교하여 업데이트한다. 이러한 접근 방식은 웹 페이지의 렌더링 속도를 빠르게 만들어 주는데 큰 역할을 한다.
컴포넌트 기반의 설계는 개발자에게 큰 유연성을 제공한다. 각 컴포넌트는 독립적이며 재사용 가능하므로, 일단 만들어진 컴포넌트는 다양한 환경에서 재사용할 수 있다. 이러한 특징은 특히 대규모 프로젝트나 여러 프로젝트에서 동일한 컴포넌트를 사용해야 하는 경우에 매우 유용하다.
이 두 가지 주요한 장점을 통해 리액트는 개발의 효율성과 생산성을 높이는 동시에 코드의 유지보수성도 증가시킨다. 따라서 많은 개발자와 기업들이 리액트를 선호하는 주요한 이유 중 하나이다.