질문) 강사님이 생각하는 CRA로 작성하였을 때의 이점과 단점?
이점: 간단하고 웬만한건 다 세팅되어 있다.
단점: 그 외의 모든 것들;;
- CRA가 제공하지 않는 구성들을 세팅하는 게 상당히 까다로움
- 초기에는 CRA로만 사용했을 때의 문제점을 느끼지 못하지만 프로젝트가 완성단계에 들어갈 때쯤에 문제를 느끼는 경우가 많음.
- CRA 커뮤니티 개발자들의 성향이 보수적임. 어떤 불편함을 느껴도 이를 반영시키는데 상당한 시간이 들어감
- 다양한 환경에 대한 대응이 어려움 - Test product, dev 환경, product 환경 등 여러가지 환경에 따라 앱이 빌드 되야하는상황이 있지만 CRA가 제공하는것은 local과 product 뿐. 다른 필요한 요소들을 주입할 수 없음.
- 그래서 강사님은 실제 product를 런칭할 때는 CRA를 사용하지 않고 Webpack으로 full resetting 하는 것을 권고함
- CRA를 어떻게든 다양하게 쓰고 싶다면 eject 라는 명령어를 사용해서 customizing 할 수 있으나 헬게이트가 열릴 수도 있음;; (매우 복잡)
상태관리
flux - facebook에서 react를 개발할 당시 거의 같이 나온 상태 관리 아키텍처, 지금은 redux가 핫해지면서 redux 내로 합해짐.
redux -
- 간단하다, 하지만 원래 간단한 것으로 복잡한 것을 만드는게 어려운 법이다..
- 리덕스가 제공하는 기능은 매우 단순하다.
- 단적인 설명으로 같은 추상화 수준으로 공유되는 컨텍스트가 거의 없기 때문에 복잡한 작업을 하기 위해 굉장히 다양한 수단과 방법이 들어간다.
- 그 외에 들어가는 부수적인 것들에 지친 사람들이 mobx 로 갈아타는 추세이다.
mobx -
- 상태를 관리하는 패러다임을 바꿔버린 라이브러리
- 형태와 상태가 기존의 리덕스와 상당히 다름
- 처음에 쓸 때 굉장히 편함
- 리덕스와 달리 다양한 기능과 예시가 있기 때문에 다양하게 응용이 가능하다 - 이로 인해 어떤 것이 베스트 프랙티스인지 혼란스러워 하는 경우도 있다.
- 자바스크립트와 타입스크립트 간의 관계와 비슷하다 - 타입이 유연할 경우 실수할 여지를 내포하고 있다는 것이다 - 하여 타입을 강제하여 런타임시 발생하는 문제를 컴파일타임에 방지할 수 있는게 필연적인 서비스가 있다면 타입 스크립트를 쓰게 되는 것
- 그러한 측면에서 Mobx가 가지고 있는 장점과 단점을 고려해봐야 할 것이고 실수의 여지가 발생할 수 있는지 따져봐야 할 것이다..(?)
'FrontEnd > React 관련자료' 카테고리의 다른 글
에러노트 - Can't perform a React state update on an unmounted component (0) | 2021.03.12 |
---|---|
Typescript&Redux 2일차 정리 (0) | 2020.09.08 |
React가 좋은 점(갑자기 생각난 거) (0) | 2020.07.09 |
리액트 기본 과정 정리 - 10 [앞으로의 공부 방향] (0) | 2019.12.13 |
리액트 기본 과정 정리 - 9 [불변성을 지키는 이유와 업데이트 최적화] (0) | 2019.12.13 |
댓글