기능 목록보다 실행 위치를 먼저 본다

데이터 위치, 상호작용 필요성, 번들 영향을 함께 보면 경계를 작게 유지할 수 있다.

데이터 어디에서 읽어야 안전하고 빠른가
행동 사용자 입력으로 즉시 바뀌는 부분인가
비용 브라우저에 보내는 JS가 얼마나 늘어나는가
질문 서버 쪽 판단 클라이언트 쪽 판단
데이터가 민감한가 토큰, DB, 권한은 서버에서 처리한다. 표시 가능한 결과만 전달한다.
즉시 반응해야 하는가 읽기 전용 결과라면 서버 HTML로 충분하다. 입력, 토글, 드래그는 client island로 둔다.
번들이 커지는가 무거운 계산과 라이브러리는 서버에 남긴다. 상호작용에 필요한 최소 코드만 보낸다.

서버 우선
이유가 없다면 서버 컴포넌트로 시작한다.

섬 최소화
상호작용이 필요한 부분만 분리한다.

결과 전달
서버 결과는 props/children으로 조합한다.