[React.js] React.js란?
최근 대부분의 기업에서 React.js를 사용한다는 것을 보고 계속 관심이 있었는데 종강을 하고 드디어 공부를 시작하기로했다. 실제로 서비스를 하나 만들어봐야 가장 효율적으로 공부할 수 있을것 같아서 노마드코더의 영화 웹 서비스 강의를 들어보기로했다.
React.js
페이스북에서 UI 개발을 위해 만든 자바스크립트 라이브러리이다.
소스코드 수정 내역이 빠르게 웹페이지에 실시간으로 반영된다. 따라서 디버깅이 간편하다.
React.js는 다음 네가지 키워드로 설명할 수 있다.
- Declarative (선언형) :
- Component (컴포넌트)
- Reusable (재사용성)
- VirtualDOM (가상돔)
1. 선언형 : Imperative(명령형) 프로그래밍과 비교되는 성격. 화면 설계에 초점을 맞춰 개발할 수 있도록 해줘 높은 생산성을 보장한다.
2. 컴포넌트 & 재사용성 : 컴포넌트란, 독립적인 단위의 소프트웨어 모듈을 말한다. 리액트는 웹에서 쓰는 각 요소들을 컴포넌트로 만들 수 있게 해 다른 프로젝트에서 다시 사용할 수 있게 해준다.
컴포넌트란 일종의 html을 반환하는 함수이다. 컴포넌트를 사용해 html을 렌더링해서 출력한다. js 에서 반환하는 html을 jsx 라고 한다. React.js는 자바스크립트로 대부분 이루어져있지만 React에서 거의 유일하게 특징적으로 가지는 요소이다.
3. Virtual DOM : React 프로젝트의 html 파일을 보면 내용이 보이지 않는다. 하지만 페이지에는 컨텐츠가 출력되고있다. 리액트는 index.html을 읽고 DOM 트리를 구성한 뒤에 페이지를 출력하는 방식이 아니라 가상 DOM을 사용하며 메모리 단에서 컴포넌트에 대한 정보를 생성하고 비교하여 트리에 업데이트가 필요한 경우 이를 반영한다. 따라서 코드 수정이 빠르게 반영되는 것이다.
No comments: