sbjang
← 목록으로

런타임 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 브랜치에 있다. 나중에 리모트를 별도 저장소로 분리해 진짜 독립 배포를 실험한다면, 그때 이 브랜치에서 다시 시작하면 된다.