문득 React 기초에 접어들면서 팀원들과 함께 왜 React를 배우는 것인가에 대해 의문을 가지게 되었다.
그래서 오늘 TIL로 정리하고자 한다.
점차 정적인 웹 페이지보다 동적인 웹페이지를 선호하게 되면서 그만큼 브라우저가 많은 연산을 해야만 하기 때문에 이를 해결할 수 있는 방법이 필요해졌다.
이를 해결하기 위해 Front-end Library / Framework가 탄생하게 되었고 DOM 관리와 상태 변화 관리를 최소화하고, 개발자는 오직 기능 개발, 사용자 인터페이스에 보다 더 집중할 수 있도록 도와주게 되었다.
이러한 이유로 탄생하게 된 것이 바로 React.
특히, React의 특징들로 인해 Front-end에서는 많이 사용하고 있다.
- React의 특징
- Virtual DOM
- 기존의 DOM을 매번 수정하지 않고 Virtual DOM을 수정하여 기존의 DOM과의 차이점을 비교 후, 최종적인 변화를 실제 DOM에 전달해 주기 때문에 연산 작용이 줄어들어 속도 향상에 도움을 준다.
- Component
- 컴포넌트는 UI를 구성하는 개별적인 단위로서, UI를 개발을 레고라고 한다면, 컴포넌트는 블록 역할을 하게 된다.
- 이러한 특징으로 인해( 물론 Component를 잘 생성해야 한다는 조건 ) 생선성과 유지 보수가 용이하게 된다.
- React Native 앱 개발 가능
- JSX
- React에서 제공해주는 JavaScript 확장 구문으로 JSX를 통해 Component를 구성하는데 쉽게 적응할 수 있다는 것이 장점이다. ( 사실 아직 잘 모르겠다. 더 공부하자. )