사용자 인터페이스를 만들기 위한 자바스크립트 라이브러리
라이브러리 : 자주 사용되는 기능을 정리해 모아 놓은 것
흐름에 대한 제어를 하지 않고 개발자가 필요한 부분만 필요할 때
가져다 사용하는 형태
유저 인터페이스 : 사용자와 컴퓨터 프로그램이 서로 상호작용을 하기 위해서
중간에서 서로 간에 입력과 출력을 제어해주는 것
UI 라이브러리 : 사용자 인터페이스를 만들기 위한 기능 모음집
사용자와 웹사이트의 상호작용을 돕는 인터페이스를 만들기 위한 자바스크립트 기능 모음집
Single Page Application
하나의 페이지만 존재하는 웹사이트
1. 빠른 업데이트와 렌더링 속도
- Virtual DOM 사용 때문
DOM (Document Object Model)
웹사이트에 대한 정보를 모두 담고 있는 큰 그릇
Virtual DOM
가상의 DOM, 웹페이지의 실제 DOM 사이에서 중간 매개체 역할
-----------------------------------------------------
화면이 업데이트된다. -----> DOM이 수정된다.
(성능에 영향을 끼칠뿐만 아니라 비용도 많이 든다.)
그러므로 최소한의 부분만 찾아서 업데이트해야 한다!!
어떤 상태의 변경이 일어나면 Virtual DOM에서는
업데이트해야 할 최소한의 부분을 검색
2. 컴포넌트 기반 구조
작은 레고 블록들이 모여서 하나의 완성된 모형이 되는 것과 비슷하다.
3. 재사용성
재사용성이 높아진다.
--> 현재 소프트웨어의 개발 시간이 단축
유지 보수가 용이하다.
--> 사용하는 모듈에 문제가 생기면 해당 모듈만 수정해서
다시 배포하면 되기 때문
여러 모듈 간의 의존성이 낮다.
--> 각 부분들이 잘 분리되어 있고 쉽게 버그를 찾아서 수정 가능
4. 든든한 지원군
메타(구 페이스북)
5. 모바일 앱 개발 기능
리액트 네이티브라는 모바일 환경 UI 프레임워크를 사용하여 모바일 앱도 개발할 수 있다.