React.js를 배우는 이유
- 전통적이 웹과 모바일 앱의 차이
- 전통적으로 web application은 clien가 링크를 클릭하면 새로운 페이지가 로드되기를 기다려야했다. 이렇게 짜여진 코드는 리액트는 필요가 없고 JS만 필요하다.
- 모든 페이지가 추가적인 로드필요없이 작동하며 아주 smooth한 경험을 사용자에게 제공한다.
- react의 생산성
- vanilla JS로 코드를 짜게되면 매우 간단한 기능도 코드가 매우길어지도 개발자는 요소들을 찾으려 같은 작업들을 계쏙하여 반복해야한다. 이는 생산성이 매우 저하된다.
- 반면 react.js는 그렇지 않다 조금 더 직관적으로 코드를 짤수 있다. 또한 react의 가장 중요한 임무중 하나는 랜더링이다. 이 랜더링은 조건별로 줄수도있고 고레벨의 선언형 방식, 선언형 컴포넌트 중심의 방식으로 우리가 html 요소를 선언하면 나머지는 react가 수행해준다.
SPA
- Single-Page-Application의 약자로 서버에서는 단 한장의 HTML 페이지만 보내고 그후 리액트가 모든 UI control를 한다는 것을 의미한다.
react의 대안들 알아보기
- 리액트는 컴포넌트 기반의 UI library이고 그렇기에 내장된 기능이 많진 않다.
- 그래서 라우팅같은 기능이 필요하다면 추가적인 서드 파티 라이브러리를 설치해야한다.
-
Angular
- 리액트와는 다르게 처음부터 typeScript를 사용하고 있으며 기능들이 매우매우많다.
- 그래서 작은 프로젝트에는 조금 과할 수 있다.
-
Vue
- 역시 Angular와 Vue와 같이 컴포넌트 기반 UI 프레임웤이지만
- core features가 앵귤러보단 적고 리액트보단 많다.
- 라우팅같은 핵심 기능을 포함하고 있다.
- 그래서 커뮤니티 의존성이 떨어지고 앵귤러처럼 overload되지는 않는다.