본문 바로가기
  • Seizure But Okay Developer
FrontEnd/React 관련자료

Typescript&React 강의 1일차 정리

by Sky_Developer 2020. 9. 4.

질문) 강사님이 생각하는 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가 가지고 있는 장점과 단점을 고려해봐야 할 것이고 실수의 여지가 발생할 수 있는지 따져봐야 할 것이다..(?)

 

 

댓글