React
A JavaScript library for building user interfaces
사용자 인터페이스를 만들기위한 자바스크립트 라이브러리
(화면을 만들기 위한 라이브러리를 모아놓은 것)
라이브러리?
자주 사용되는 기능들을 정리해 모아 놓은 것
프레임워크 vs 라이브러리?
- 프로그램 흐름에 대한 제어 권한
- 프레임워크는 흐름의 제어 권한을 개발자가 아닌 프레임 워크가 가짐
- 라이브러리는 흐름을 제어하지 않음 - 개발자에게 권한이 있음
리액트의 장점
빠른 업데이트와 랜더링 속도
- vertual DOM 사용 - DOM은 웹페이지를 정의하는 하나의 객체. 정보를 모두 담고있음.
상태의 변화가 일어나면 업데이트 해야할 최소한의 부분을 검색해 업데이트 하고 다시 랜더링함
Component-Based
- 레고 블록을 조립하듯 컴포넌트들을 모아서 개발
- 재사용성 up -> 개발 기간이 단축됨, 유지보수가 용이함
활발한 지식공유 & 커뮤니티
React Native 사용 가능
리액트의 단점
- 방대한 학습량
- 계속 뭔가 바뀜....
- 높은 상태관리 복잡도(state관리)