Guidebook
ComponentsStorybook

Frameworks

Astro

Astro 공식 학습 흐름에 따라 React·Vue component를 island로 통합합니다.

Astro는 content 중심 site와 documentation을 위한 web framework입니다. 기본적으로 정적 HTML을 생성하고, 상호작용이 필요한 영역만 island로 hydration합니다. workspace root에서 pnpm dev:astro를 실행하면 공통 style과 asset을 준비한 뒤 개발 서버를 엽니다.

Astro란?

Astro는 .astro 파일로 page layout과 정적 markup을 작성합니다. UI framework component는 React, Vue, Svelte 등을 선택해 island로 삽입할 수 있습니다. 기본 렌더링은 server에서 수행되며, JavaScript는 필요한 component만 client로 전송합니다.

주요 특징

  • .astro component와 파일 기반 routing
  • content collection과 Markdown 통합
  • client:load, client:visible 등 island hydration directive
  • framework component를 선택적으로 통합하는 architecture
  • 정적 site와 SSR adapter 기반 배포

역할

Astro는 @uxkm/react 또는 @uxkm/vue를 island로 재사용합니다. 개별 component를 .astro로 다시 구현하지 않고, 문서 page·데모 page에서 기존 package component를 client:* directive와 함께 배치합니다. 정적 shell은 Astro markup으로, modal·form·dropdown 같은 상호작용은 client island에서 검증합니다.

문서 구성

메뉴 내용
빠른 시작 프로젝트 실행과 island 연결
페이지와 라우팅 파일 기반 route와 layout
Islands client:* directive와 hydration 시점
컴포넌트 통합 React·Vue component 사용법
베스트 프랙티스 배포, 성능, 접근성과 보안

사용 시작

astro---
import Button from '@uxkm/react/button';
---

<Button client:load variant="filled">저장</Button>

React integration을 사용하는 경우 @uxkm/react/*를, Vue integration을 사용하는 경우 @uxkm/vue/*를 import합니다.

공식 문서

가이드북소개기초디자인 토큰기초접근성컴포넌트기본 요소컴포넌트레이아웃컴포넌트폼컴포넌트네비게이션컴포넌트데이터 표시컴포넌트피드백컴포넌트기타활용 가이드UI 패턴활용 가이드작성 지침프레임워크프레임워크 구현프레임워크Gulp프레임워크GulpGulp 시작프레임워크GulpGulp 기본 설정프레임워크GulpGulp 기본 API프레임워크GulpHTML 편집 (Gulp NJK)프레임워크GulpWeb Server & Watching Files프레임워크GulpAssets 세팅프레임워크Gulp배포 (Deploying)프레임워크Vue프레임워크Vue빠른 시작프레임워크Vue핵심 기초프레임워크Vue상태와 반응성프레임워크Vue컴포넌트 심화프레임워크Vue페이지와 라우팅프레임워크Vue재사용성프레임워크Vue내장 컴포넌트프레임워크Vue확장하기프레임워크Vue베스트 프랙티스프레임워크VueTypeScript프레임워크Vue추가 주제프레임워크React프레임워크React빠르게 시작하기프레임워크ReactUI 표현프레임워크React조건과 목록프레임워크React상호작용프레임워크React페이지와 라우팅프레임워크ReactState 관리프레임워크React탈출구프레임워크ReactReact로 사고하기프레임워크WebSquare프레임워크WebSquare스튜디오프레임워크WebSquare화면과 이벤트프레임워크WebSquare컴포넌트프레임워크WebSquareDataCollection프레임워크WebSquareSubmission프레임워크WebSquare사용하기프레임워크WebSquareSP5 설정프레임워크WebSquare심화 가이드프레임워크Svelte프레임워크Svelte빠른 시작프레임워크Svelte핵심 기초프레임워크Svelte상태와 반응성프레임워크Svelte컴포넌트 심화프레임워크Svelte페이지와 라우팅프레임워크SvelteTypeScript프레임워크Svelte베스트 프랙티스프레임워크SolidJS프레임워크SolidJS빠른 시작프레임워크SolidJSUI 표현프레임워크SolidJSSignals와 Effects프레임워크SolidJS컴포넌트 심화프레임워크SolidJS페이지와 라우팅프레임워크SolidJS베스트 프랙티스프레임워크Qwik프레임워크Qwik빠른 시작프레임워크Qwik컴포넌트프레임워크Qwik상태와 반응성프레임워크Qwik페이지와 라우팅프레임워크Qwik베스트 프랙티스프레임워크Remix프레임워크Remix빠른 시작프레임워크RemixUI 표현프레임워크Remix페이지와 라우팅프레임워크RemixLoader와 Action프레임워크Remix베스트 프랙티스프레임워크Angular프레임워크Angular빠른 시작프레임워크Angular핵심 기초프레임워크Angular상태와 반응성프레임워크Angular컴포넌트 심화프레임워크Angular페이지와 라우팅프레임워크AngularTypeScript프레임워크Angular베스트 프랙티스프레임워크Astro프레임워크Astro빠른 시작프레임워크Astro페이지와 라우팅프레임워크AstroIslands프레임워크Astro컴포넌트 통합프레임워크Astro베스트 프랙티스