라이브러리 역할 분리

SPA 라이브러리 선택 비용

UI, HTTP, 폼, 날짜, 차트 라이브러리는 모두 앱의 다른 책임을 대신 맡습니다. 선택 기준은 유명세가 아니라 접근성, 타입 안정성, 번들 크기, 팀 학습 비용, 나중에 바꾸기 어려운 정도입니다.

01

문제 영역을 분리한다

컴포넌트 품질, 서버 데이터 캐시, 폼 검증, 날짜대 처리처럼 필요한 책임을 먼저 정의합니다.

need
02

운영 조건 비교

SSR 호환성, tree shaking, 타입, 접근성, 유지보수 속도를 실제 프로젝트 조건에 맞춰 봅니다.

fit
03

API 확산 관리

라이브러리 호출이 전역으로 퍼질수록 교체 비용이 커지므로 adapter나 wrapper 경계를 고려합니다.

lock-in
04

도입 후 비용을 측정한다

번들 증가, 학습 비용, 버전 업그레이드 영향을 기록해 선택을 계속 검증합니다.

cost
UI kit
접근성과 일관된 상호작용을 얻음 디자인을 강하게 묶을 수 있으므로 커스터마이징 한계를 확인합니다.
interface
HTTP/Data
요청 표준화와 캐시 정책을 얻음 서버 상태 관리 도구는 로딩, 오류, stale 시간을 함께 책임집니다.
data
Form/Chart/Date
도메인 복잡도를 줄임 전문 라이브러리는 edge case를 줄이지만 API를 배우는 비용이 있습니다.
domain

bundle 영향 · 접근성 · 교체성 점검

bundle 영향 설치 후 실제 번들에 들어간 크기를 확인합니다.
접근성 UI 라이브러리는 키보드, focus trap, aria 동작을 직접 확인합니다.
교체성 도구 API가 업무 로직 깊숙이 퍼지지 않게 경계를 둡니다.

도입 메모

문제: 날짜대 변환 오류 반복
후보: date-fns, Luxon, Temporal polyfill
판단: timezone 필요 여부와 번들 크기 비교
경계: formatDate adapter만 외부에 노출