EmDash는 전통적인 CMS 패턴과 현대 웹 개발을 결합한 Astro 네이티브 CMS입니다. 콘텐츠 편집 인터페이스, Astro 프레임워크 통합, 유연한 배포 옵션을 제공합니다.
EmDash의 차별점
Astro 네이티브 아키텍처
EmDash는 범용 CMS를 끌어온 것이 아니라 Astro를 위해 설계되었습니다. 콘텐츠는 사이트와 같은 배포에 있으며 Astro의 Live Content Collections로 조회합니다. 별도 서비스, API 왕복, 웹훅 동기화가 없습니다.
익숙한 콘텐츠 모델
WordPress를 써봤다면 EmDash 개념이 낯익습니다. 컬렉션(글 타입과 유사), 분류 체계, 메뉴, 위젯 영역, 미디어 라이브러리. 사고 모델은 그대로 이어지고 구현은 현대적인 도구를 씁니다.
프레임워크 통합
EmDash는 Astro를 위해 만들어졌습니다. 긴밀한 통합으로 타입 안전 쿼리, 컴포넌트 수준 캐싱, 통합 미리보기가 가능합니다.
핵심 기능
단일 배포
콘텐츠와 프런트엔드를 함께 배포합니다. 코드베이스 하나, 배포 하나, 관리할 시스템 하나.
타입 안전
스키마는 데이터베이스에 있습니다. TypeScript 타입이 DB에서 템플릿까지 흐르며 자동 완성을 지원합니다.
라이브 업데이트
Astro의 Live Content Collections 기반. 콘텐츠 변경이 즉시 반영되며 재빌드가 필요 없습니다.
클라우드 이식성
Cloudflare Workers와 D1, R2에서 실행되며 Node.js, SQLite, S3 호환 스토리지에서도 동작합니다.
비교
CMS 접근 방식은 필요에 따라 다릅니다.
| 측면 | 전통 CMS | 헤드리스 CMS | EmDash |
|---|---|---|---|
| 아키텍처 | 모놀리식 | 분리 | Astro와 통합 |
| 콘텐츠 편집 | 내장 관리자 | 내장 관리자 | 내장 관리자 |
| 프런트엔드 | 테마/템플릿 | 직접 가져오기 | Astro 컴포넌트 |
| 배포 | 단일 서버 | CMS + 프런트엔드 | 단일 배포 |
| 타입 안전 | 런타임 | API 타입 | 풀 TypeScript |
| 콘텐츠 업데이트 | 즉시 | 웹훅/재빌드 | 즉시(SSR) |
| 플러그인 모델 | 동일 프로세스 | API 확장 | 훅이 있는 샌드박스 |
Cloudflare 배포
EmDash는 SQLite와 S3 호환 스토리지가 있으면 어떤 플랫폼에서도 실행됩니다. Cloudflare 전용 기능도 지원합니다.
- D1 — 엣지의 SQLite와 자동 복제
- R2 — 이그레스 비용 없는 S3 호환 스토리지
- Workers — 빠른 콜드 스타트의 글로벌 배포
플러그인 마이그레이션
EmDash는 WordPress 플러그인 기능을 옮기는 데 도움이 되는 도구를 제공합니다.
- 개념 매핑 — WordPress 훅, 필터, API를 EmDash 대응 요소에 연결
- 마이그레이션 가이드 — 특정 플러그인 패턴 이식 문서
- AI 보조 포팅 — WordPress 코드에서 EmDash 플러그인을 생성하도록 돕는 문서 구조
복잡한 플러그인은 여전히 사람의 검토가 필요하지만, 단순한 경우 가이드가 노력을 줄입니다.
언제 쓰면 좋은가
EmDash가 맞는 경우:
- CMS가 필요한 새 Astro 프로젝트
- 현대적인 도구를 원하는 WordPress 이전
- 편집자가 코드를 건드리면 안 되는 사이트
- Cloudflare에 배포하는 프로젝트
- 타입 안전과 개발자 경험이 중요한 사이트
맞지 않을 수 있는 경우:
- Astro가 아닌 프로젝트(Astro에 강하게 결합)
- 전자상거래(WooCommerce 수준 기능은 아직 없음)
- 이미 만족하는 기존 헤드리스 아키텍처
- WordPress 특유의 플러그인 생태계가 필수
시작하기
빠른 시작
5분 안에 첫 사이트 만들기.
마이그레이션 가이드
콘텐츠 가져오기와 개념 매핑으로 WordPress에서 이전.