React: #1 React란?


우리가 자바스크립트 라이브러리나 프레임워크를 사용하지 않아도 HTML, CSS, JavaScript만으로도 웹페이지를 만들 수 있습니다. 하지만 요즘 웹 페이지는 데이터만 보여주는 것이 아니라 작게는 댓글 등록부터 시작해서 그 외에 사용자와 수많은 상호 작용이 일어납니다. 상호 작용이 일어나려면 수많은 상태 관리가 필요합니다.

** ex. 댓글 등록 **
1. 새로운 댓글을 작성합니다. 작성하고 있는 댓글을 화면에 표시합니다.
2. 댓글을 등록 버튼을 클릭합니다.
3. 변경된 댓글 리스트를 화면에 다시 띄워줍니다.

이처럼 사용자와의 상호작용을 통해 UI를 동적으로 나타내기 위해서는 수많은 상태를 관리해줘야 합니다. 사실 사용자와 상호작용이 별로 없다면 프론트엔드 라이브러리는 필요하지 않지만 규모가 커지고 관리해야 하는 상태가 많아질수록 이를 관리하는 것은 어려운 일입니다.

"귀찮고 번거로운 Dom 관리를 최소화하고 온전히 기능 개발에 집중할 수 있는 방법은 없을까?"

이러한 의문점을 해결해줄 수 있게 만들어진 것이 프론트엔드 라이브러리 & 프레임워크입니다. 대표적으로 프론트엔드 3대장인 Angular, Vue, React가 있습니다.

React 장점


  1. Router, 상태 관리 기능 등 웹을 만드는데 꼭 필요한 도구들이 포함되어있지 않은 만큼 가볍습니다.
  2. 따로 공식 라이브러리가 있지 않기 때문에 개발자가 원하는 스택을 선택하거나 직접 라이브러리를 만들어서 사용할 수 있습니다.
  3. React 생태계가 엄청 넓습니다.

React: #2 탄생 배경 및 개념