본문 바로가기

React

React

728x90

 

React는 페이스북에서 개발된 오픈소스 JavaScript 라이브러리로, 사용자 인터페이스를 만들기 위해 사용되며, 단일 페이지 애플리케이션(Single Page Application, SPA)을 구축하는 데 가장 많이 사용되고 있다. 그리고 가상 DOM을 기반으로 한 선언적이고 효율적인 컴포넌트 기반 아키텍처를 갖추고 있으며 이러한 특징으로 Angular, Vue와 함께 프론트엔드 개발 시 많이 채택되어 사용되고 있으며, 그중에서도  React가 가장 많이 사용되고 있다.

 

React의 주요 특징

 

1. 컴포넌트 기반 아키텍처 : React는 재사용 가능한 UI 컴포넌트를 작성하는 데 중점을 둬 코드의 가독성과 유지보수성을 높여주며 개발 생산성을 향상시킨다.

2. 가상 DOM (Virtual DOM) : React는 가상 DOM을 사용하여 실제 DOM 조작을 최소화해 성능 향상과 함께 빠른 UI 렌더링을 가능하게 한다.

3. JSX : React는 JavaScript와 XML을 결합한 JSX 문법을 사용하여 컴포넌트 구조를 보다 직관적이고 가독성 있게 만들어준다.

4. 단방향 데이터 흐름 (One-way Data Binding) : React는 단방향 데이터 흐름을 따라 상태(State)와 프로퍼티(props)가 부모에서 자식으로만 흐르도록 함으로써 데이터 흐름을 예측 가능하고 디버깅하기 쉽게 만들어 유지보수가 유용하게 한다.

 

React의 장점


1. 재사용 가능한 컴포넌트 : React는 컴포넌트 기반 아키텍처로 코드의 재사용성을 높여준다.

2. 가상 DOM을 이용한 효율적인 렌더링 : 가상 DOM을 활용하여 성능 향상과 빠른 UI 렌더링을 가능하게 한다.

3. 커뮤니티와 생태계 : React는 프론트엔드 개발에서 가장 많이 사용되는 만큼 매우 큰 커뮤니티와 다양한 라이브러리, 도구들을 갖추고 있어 개발 생태계가 발전되어 있다.

4. 개발 생산성 : JSX 문법과 컴포넌트 기반 아키텍처는 개발자가 빠르게 UI를 구축하고 유지보수할 수 있도록 돕는다.

 

React의 단점


1. 러닝 커브 (Learning Curve) : React는 JS를 기반으로 하기 때문에 어느 정도의 JS 숙련도를 필요로 하며 이러한 특징으로 처음 접하는 사용자에게는 학습 곡선이 있을 수 있다.

2. 상태 관리의 복잡성 : React는 기본적으로 단순한 상태 관리만을 제공하므로, 복잡한 애플리케이션의 상태 관리를 위해서는 Redux나 MobX와 같은 별도의 라이브러리를 사용해야 할 수 있다.

3. SEO (Search Engine Optimization) 문제 : React는 기본적으로 서버 측 렌더링을 지원하지 않아 SEO에 어려움이 있으며 이를 해결하기 위해서는 추가적인 작업을 필요로 한다.

4. 초기 로딩 속도 : React 애플리케이션은 초기 로딩 시에 브라우저에 대량의 JavaScript 파일을 다운로드해야 하므로, 초기 로딩 속도가 느리다.

728x90

'React' 카테고리의 다른 글

React 생명주기 함수 '생성'  (0) 2024.03.28
React Component 사용하기  (0) 2024.03.27
React 메인 바꿔보기  (0) 2024.03.27
React의 구조  (0) 2024.03.27
React 개발 환경 준비하기  (0) 2024.03.26