런타임 MFA에서 Astro 아일랜드로
런타임 MFA를 동작시켜본 뒤, 이 사이트의 실제 성격에 맞춰 구조를 Astro 호스트 + 아일랜드로 전환했다.
전환 이유
- 이 사이트는 콘텐츠형이다. 회고 글은 빌드 타임에 HTML로 굽는 게 첫 페인트, SEO, JS 페이로드 모두에서 낫다
- 원자적 통합 배포(GitHub Pages) 환경에서 런타임 통합의 이득인 “독립 배포”가 성립하지 않았다
- 프레임워크 혼합이라는 목표는 아일랜드로도 달성된다. 통합 시점이 런타임에서 빌드 타임으로 바뀔 뿐이다
새 구조
- Astro가 메인 컨테이너: 페이지·라우팅·콘텐츠(MDX 컬렉션)를 빌드 타임에 정적 HTML로 생성한다
- React 아일랜드: 회고 목록의 검색창 (
@site/post-search워크스페이스 패키지를 빌드 타임에 import) - Svelte 아일랜드: 헤더의 테마 토글 (
@site/theme-toggle)
같은 페이지에 React와 Svelte가 공존하고, 각 아일랜드는 자기 프레임워크 런타임을 써서 독립적으로 하이드레이션된다. JS가 없어도 콘텐츠는 전부 보인다.
남긴 것
런타임 MFA 코드는 mfa-runtime 브랜치에 있다. 나중에 리모트를
별도 저장소로 분리해 진짜 독립 배포를 실험한다면, 그때 이 브랜치에서
다시 시작하면 된다.