정의

프론트엔드 시스템 설계는 단일 페이지를 UI 컴포넌트로 분해하는 수준을 넘어, 상태의 원천(origin), 데이터 흐름(data flow), 렌더링 전략(rendering strategy), 성능, 관측성(observability), 사용자 경험(UX)을 통합적으로 구조화하는 분야다.

핵심 속성

  • 설계 범위: 컴포넌트 분할(component decomposition) + 상태 관리(state management) + 데이터 동기화(data sync) + 네트워크 지연 허용(network latency tolerance) + 실시간 협업( real-time collaboration)
  • 주요 의사결정 축: 상태의 원천을 클라이언트/서버 중 어디에 둘 것인가, 어떤 데이터가 stale 허용인가, SSR과 CSR 중 어떤 전략이 적합한가, 문제 발생 시 어떤 telemetry로 추적할 것인가
  • 차별점: 백엔드 시스템 설계가 트래픽/저장소/메시지 큐/캐싱/샤딩을 다룬다면, 프론트엔드 시스템 설계는 상태·렌더링·동기화·UX 구조화에 집중한다.

관계

인용

“프론트엔드에도 다른 종류의 복잡도가 있다. … 상태의 원본을 어디에 둘지, 어떤 데이터는 stale해도 되는지, 어떤 화면은 SSR이 맞고 어떤 화면은 CSR로 격리해야 하는지, 문제가 생겼을 때 어떤 telemetry로 추적할지, 사용자가 이해할 수 있는 흐름으로 어떻게 구조화할지의 문제다.”

출처

클리핑 · LinkedIn