# question
# react를 선택한 이유
- frontend framework trending에서 가장 높아 커뮤니티가 더 많음
- 사용하려는 theia framework가 typescript 기반
# redux와 mobx중 redux 사용이유
- trending에서 압도적으로 높아 자료를 찾기 편리함
- action을 통해서만 업데이트가 가능해서 테스트나 유지보수에 편리
- redux 개발자도구가 잘되어있다고 알고있어서
# redux 특징
- Redux의 특징
- 상태를 전역적으로 관리하기 때문에 어느 컴포넌트에 상태를 둬야할지 고민할 필요가 없게 한다.
- 데이터 흐름을 단방향으로 흐르게 한다.
- 상태 관리에서 불변성 유지가 매우 중요하다. 상태를 읽기전용으로 취급한다. Immutable.js 와 같은 라이브러리가 쓰이기도 한다.
- flux 아키텍처를 따른다. (dispatch 관리를 위해 redux-thunk나 redux-saga와 같은 미들웨어가 필수이다.)
- 개념에 대한 이해가 선행되어야 하고, 여러 라이브러리를 함께 사용하는 경우가 있기 때문에 러닝커브가 높은 편이다.
- 액션을 하나 추가하는데, 작성 필요한 부분이 많고, 컴포넌트와 스토어를 연결하는 필수적인 부분들이 있어 코드량이 많아질 수 있다.
# SPA(+ React)로 개발한 이유
- SSR의 장점이 SEO와 초기 렌더링 속도가 빠른것인데, B2B 제품이라 해당 사항고려x 및 초기에 느려도 이후 사용이 빨라야함
- 초기 렌더링 후 데이터만 가져오기 때문에 상대적으로 서버 요청이 적다.
- 컴포넌트 단위로 관리가 가능
← JavaScript React →