UI Library React.js
웹과 네이티브 UI를 위한 라이브러리
프레임워크
개발자가 기능 구현에만 집중할 수 있도록 '모든 프로그래밍적 재원'을 지원하는 '기술의 조합'
- Spring Framework : Java 기반의 웹(백엔드) 프레임 워크
- FE까지 가능한 full stack coverrage framework
- JSP, Thymeleaf
- Vue.js, Angular.js : Java Script 기반 웹 프론트엔드 SPA
프레임 워크
- Django, Flask : Python 기반의 웹 프레임 워크
- Ruby on Rails
- NET Framework
- Express.js, NestJS : Java Script 기반 웹 백엔드 프레임 워크
라이브러리
공통 기능의 모듈화가 이루어진 프로그램의 집합
- React.js
- react-router-dom
- redux
제어의 역전(loC : lnversion Of Control)
- 개발 시 '제어' 하는 건 개발자의 역할
- 프레임워크를 사용하는 경우 시키는대로 코드를 짜게 되면, 프레임워크가 알아서 제어의 흐름을 가져가는 것
React.js가 라이브러리인 이유
자체만으로 프레임웍이라고 불리기엔 제공해야 하는 기능이 부족함
상태관리(Redux), 라우팅(React-router-dom), 스타일링 등의 기능이 합쳐져 있었다면 프레임워크라고 불릴 수 있었지만, React에서는 개발자가 제어해야함
그래서 다른 라이브러리들을 같이 써야함
1) SPA : 한 개의 페이지로 이루어진 애플리케이션
2) MPA : 멀티 페이지로 구성된 애플리케이션
인기가 많은 React(npm trends)
npm에 등록된 패키지의 다운로드 수를 의미하는
npm trendes
에서SPA 아키텍쳐
기술의 동향을 살펴보면,react.js
의 인기가 월등히 높음을 알 수 있습니다!
UI가 필요한 곳이면 어디든
웹 뿐만 아니라,
React Native
를 이용한 모바일 애플리케이션에서도 활용 가능
VR
에서까지도 활용 가능!