아일랜드 아키텍처
Islands Architecture
정적 HTML 내에서 상호작용이 필요한 영역만 독립된 대화형 컴포넌트로 격리 렌더링하는 기법
서버에서 전달된 정적 HTML에 클라이언트 JS가 이벤트 리스너를 결합해 대화형 UI로 활성화하는 과정입니다. 정의와 상세 설명을 통해 기술적 원리를 이해하고, 비즈니스에 미치는 영향과 실무 적용 방법, 구현 시 고려할 주의사항을 관련 용어와 함께 확인하세요.
Hydration
하이드레이션은 서버가 미리 그려 보낸 ‘정적인 그림’ 같은 HTML에, 브라우저에 도착한 자바스크립트가 동일한 컴포넌트 트리를 다시 실행하며 이벤트 리스너와 상태를 붙여 넣는 과정이다. 이 과정이 끝나기 전까지는 화면이 보여도 버튼을 눌러도 반응하지 않는 경우가 있어, 사용자가 느끼는 ‘먹통’ 현상의 주요 원인이 된다. Astro의 아일랜드 아키텍처나 React 18의 선택적 하이드레이션(Selective Hydration)은 이 문제를 완화하기 위해 등장한 대표적인 기술적 해법이다.
초기 렌더링 속도와 사용자 인터랙션 간의 완벽한 기능적 브릿지 역할 수행
하이드레이션 지연 시 클릭 반응성(INP/TBT)이 악화되므로 JS 코드 분할 필수
Islands Architecture
정적 HTML 내에서 상호작용이 필요한 영역만 독립된 대화형 컴포넌트로 격리 렌더링하는 기법
Headless Content Management System
콘텐츠 관리 백엔드와 프론트엔드 UI를 분리하고 API를 통해 콘텐츠를 서빙하는 아키텍처
Decoupled Architecture
백엔드와 프론트엔드가 독립된 레이어로 분리되어 API로만 통신하는 소프트웨어 구조
JavaScript APIs and Markup
클라이언트 JS와 재사용 API 및 사전 빌드된 마크업으로 웹을 구성하는 아키텍처
Static Site Generation
빌드 타임에 모든 페이지의 HTML CSS JS를 미리 렌더링해 정적 파일로 생성하는 방식
Server-Side Rendering
요청이 들어올 때마다 서버에서 동적으로 HTML을 실시간 생성하여 브라우저에 전달하는 방식