[ReactJS] React란?

우지끈·2024년 10월 28일

리액트 공식 홈페이지는 React를 UI를 만들기 위한 라이브러리라고 소개하고 있다.

본격적으로 리액트에 대해 알아보기 전에 우선 프레임워크라이브러리의 차이를 먼저 알아보고 넘어가려 한다.

프레임워크 vs 라이브러리

프레임워크

프레임워크는 개발자가 기능 구현에만 집중할 수 있도록 필요한 모든 프로그래밍적 재원을 지원하는 '기술의 조합'

주로 사용하는 프레임워크는 다음과 같다.

  • Spring Framework: Java 기반의 웹(백엔드) 프레임워크
  • Vue.js, Angular.js: Javascript 기반 웹 프론트엔드 SPA
  • Django, Flask: Python 기반의 웹 프레임워크
  • Ruby on Rails
  • .NET Framework
  • Express.js, NestJS: Javascript 기반 웹 백엔드 프레임워크

라이브러리

공통 기능의 모듈화가 이루어진 프로그램의 집합

React.js, react-router-dom, redux 등이 있다.

프레임워크와 라이브러리의 핵심적인 차이는 바로 프레임워크의 코드에는 완성된 기능들이 포함되지 않는다는 것이다. 쉽게 말해 프레임워크는 설계도를 제공하는 프로그램의 골격들인 것이지 완성된 제품이 아니라는 것이다.

반면 라이브러리는 미리 작성된 코드 그룹
바로 사용 가능한 기능들의 집합이다. 결과적으로 특정 기능을 구현하기 위해 코드를 직접 짤 필요가 없다는 것이다.

그리고 React.js는 그 자체만으로 프레임워크라고 불리기엔 제공해야 하는 기능이 부족하기에 UI를 만들기 위한 라이브러리에 속한다는 정도로 알고 있으면 될 것 같다.


React의 특징과 이점

  1. SPA(Single Page Application): MPA(Multi Page Application)과 다르게 하나의 페이지(html)로 이루어져 있는 애플리케이션을 뜻한다. 전통적인 MPA가 가지는 불편함(깜빡거림, 렌더링 속도 등)으로 인해 등장하게 되었다.

  2. 높은 인기: npm에 등록된 패키지의 다운로드 수를 의미하는 npm trends에서 SPA 아키텍쳐기술의 동향을 살펴보았을 때, react.js의 인기가 월등히 높은 것을 알 수 있다.

  3. 범용성: 웹 뿐만 아니라 React Native를 활용한 모바일 애플리케이션에서도 활용 가능하며 VR에서까지 활용할 수 있다.

  4. 막강한 커뮤니티: npm trends 에서 확인했듯, React 기술에 종사하는 사람이 매우 많기에 커뮤니티를 통해 다양한 사람들과 많은 정보를 공유할 수 있다.

0개의 댓글