1. What is React?
[React] I. 리액트 소개 - 리액트의 정의, 장단점
1. 리액트의 정의
1.1 리액트란?
A javascript library for building user interfaces
리액트는 대표적인 JS UI library 이다.
라이브러리?
특정 프로그래밍 언어에서 자주 사용되는 기능을 정리해 모아놓은 것.
sidenote. 다른 JS UI library Angular.js (공식지원 중단), Vue.js (오픈소스 프로젝트로 시작함)
사용자 인터페이스?(UI)
소프트웨어와 사용자 상호작용 간의 입력과 출력을 제어해주는 것
프레임워크 vs. 라이브러리
프레임워크는 프로그램의 흐름을 프레임워크가 가지고 있다. 라이브러리에선 프로그램의 흐름을 개발자가 가지고 있다.
2. 리액트의 장점
1) 빠른 업데이트와 렌더링 속도
내부적으로 virtual DOM 을 사용함. DOM 이란 Document object model 업데이트 해야할 최소 부분을 찾아 그것만 바꾼다. see also - 리액트 렌더링
2) Component based
레고 블럭을 조립하듯 컴포넌트들을 쌓아 만듬.
3) 재사용성 높음
컴포넌트는 의존성, 호환성 관련해 유리함. ☞ 유지보수가 용이, 개발이 빠름.
4) Meta가 스폰서.
라이브러리가 갑자기 사라질 걱정 적음.
5) 활발한 지식 공유 in community
6) React Native 로 나아갈 수 있음.
3. 리액트의 단점
1) 방대한 학습량
새로운 개념들이 많다.
2) 높은 상태관리 복잡도
복잡도 관리를 위해 다른 툴도 배워야 할지도.