💬 Language
Typescript
- 정적 타입 지원으로 컴파일 단계에서 오류를 포착할 수 있다.
- DTO를 명확하게 정의할 수 있다.
<br />
🌝 FrontEnd
React
- 모든 팀원이 사용 경험이 있으므로, 짧은 개발 기간 내 새로운 기술에 대한 학습 비용을 줄일 수 있다.
- 모바일 환경에서의 사용을 목표로 하기에 SPA 개발에 용이하다.
- 사용자 모바일 디바이스들의 성능 차가 크지 않을 것으로 예상하기에, 사용자마다 다른 브라우징 파워를 고려하지 않는다.
- 모든 페이지가 로그인 후 사용 가능하므로, SEO를 고려하지 않는다.
styled components
- CSS 커스텀 컴포넌트를 사용함으로써 추상화에 도움이 된다.
- props로 전달해 주는 값을 실제 스타일에 적용할 수 있다.
- 팀 내 styled components 사용 경험이 Emotion에 비해 높기에, 짧은 개발 기간 내 새로운 기술에 대한 학습 비용을 줄일 수 있다.
- 또한 Emotion과 styled components의 유의미한 차이를 느끼지 못했다.
Zusthand
- 굉장히 쉬운 Zusthand는 상태 관리 라이브러리 사용 경험이 없는 팀에게 큰 도움이 된다.
- 번들 사이즈가 다른 상태 관리 라이브러리에 비해 작다.
React Query
- 클라이언트 데이터와 서버 데이터를 분리할 수 있다.
- 동일한 데이터를 여러번 요청해도 한번의 요청 이후 캐싱이 된다.
- 커스텀 Hook으로 분리함으로써 비동기 과정을 선언적으로 관리할 수 있다.
- React Suspense와 함께 사용할 수 있어, 좀 더 편리한 로딩 화면 렌더링이 가능하다.