본문 바로가기
웹서비스 개발/React-App 개발

React란?

by 후닝훈 2021. 4. 20.
반응형

React

페이스북에서 발표한 사용량 1위의 웹 라이브러리이다.

JavaScript와 HTML을 합친 JSX(JavaScript XML)라는 문법을 사용한다.

- 이 문법으로 인해 기존 방식보다 코드를 작성하는데 간편하다는 장점이 있다.

 

React의 장점

SPA

· 최근 웹은 ‘웹 애플리케이션’이라고 불릴 정도로 복잡하고 동적이다.

· 동적인 웹 페이지가 늘어나면서 웹의 크기가 커졌기 때문에 서버와의 통신 속도가 느렸다.

· 하지만 리액트는 SPA 방식을 지원하기 때문에 기존 웹 방식보다 속도가 빠르다.

· SPA란 HTML, CSS, Javascript 파일을 최초 1회만 로드하고, 이후에는 필요한 부분만 조작하는 방식이다.

- SPA 지원: React, ES6, Node.js, npm, webpack, Babel, Angular, Vue

 

Virtual DOM

· SPA에서는 DOM 조작이 많이 발생한다.

- DOM(문서 객체 모델): 웹 페이지에 대한 프로그래밍 인터페이스

· 따라서 DOM을 직접 관리할 경우, 전체적인 프로세스가 비효율적으로 되기 쉽다.

· 그러나 React는 Virtual DOM을 사용하여 브라우저 연산의 양을 줄일 수 있어 성능이 개선된다.

· 동적 웹 애플리케이션은 수많은 상태 관리가 필요한데, React를 개발한 페이스북을 예시로 들어본다.

· ‘좋아요’를 누르거나 댓글을 달게 되면 웹 페이지가 반응해 UI가 변경된다.

· 기존의 SPA 방식은 HTML이 변경될 경우 과정을 다시 한번 거치면서 많은 연산을 요구한다.

· React는 Virtual DOM을 사용해 이 과정에서 드는 Resource를 획기적으로 줄이도록 설계됐다.

  - 인터페이스의 변화를 먼저 Virtual DOM에 반영한다.

  - Virtual DOM과 실제 DOM을 비교하고 바뀐 Document Object만 변경한다.

  - 이 과정을 통해 여러 인터페이스를 바꾸는 상황에서도 실제 DOM은 1번만 바꿔주면 된다.

· 이처럼 가벼워진 연산으로 동적 UI를 설계하는 상황에서 React가 성능적으로 유리하다.

Component 단위 작성

 · Component를 사용하기 때문에 재사용성이 높고 효율적인 유지보수가 가능하다.

   - UI를 구성하는 개별적인 View 단위로써 UI 개발이 레고라면 Component는 블록 역할을 한다.

· 하나의 Component를 여러 부분에서 사용할 수 있다.

· 여러 개의 버튼이 필요하다면, 버튼 Component를 생성하고 필요한 곳에 사용하면 된다.

   - 기존 웹페이지를 만드는 방식보다 생산성과 유지보수 면에서 우월하다.

   - 요소 하나가 다른 요소에 영향을 미치는 복잡한 로직을 업데이트하는 경우에 무리가 없다.

 

점유율이 가장 높은 라이브러리

· React를 사용하는 개발자의 수가 계속 증가하는 추세이다.

반응형

'웹서비스 개발 > React-App 개발' 카테고리의 다른 글

Props & React Developer Tools  (0) 2021.04.24
Component 작성  (0) 2021.04.24
CSS 수정 및 배포  (0) 2021.04.24
JS 코딩  (0) 2021.04.22
React 개발환경 구축  (0) 2021.04.21

댓글