프로젝트 소개

Topcoat은 풀스택 웹 애플리케이션을 구축하기 위한 모듈식의 모든 기능이 포함된 Rust 프레임워크입니다. 단순성과 생산성을 우선시하며, 별도의 API 계층이나 클라이언트 빌드 단계 없이 서버 사이드 렌더링과 클라이언트 사이드 반응성을 결합한 독특한 접근 방식을 제공합니다. 주요 기능은 다음과 같습니다: - **비동기 컴포넌트를 사용한 서버 사이드 렌더링**: 컴포넌트는 비동기식으로 데이터베이스를 직접 쿼리할 수 있어 기존 API 상용구를 제거합니다. - **상용구 없는 클라이언트 반응성**: `$(...)` 표현식은 초기 렌더링을 위해 서버에서 실행되고 즉시 브라우저에서 재실행되도록 JavaScript로 변환되는 타입 검사된 Rust로, wasm 번들이나 클라이언트 빌드 단계가 필요 없습니다. - **강력한 HTML 템플릿**: `view!` 매크로는 익숙한 Rust 제어 흐름, 조건부 속성, CLI 포맷터(`topcoat fmt`)를 지원합니다. - **모듈 기반 라우팅**: 빌드 단계 없이 앱의 모듈 구조에서 경로 트리를 선택적으로 추론합니다. - **사전 제작된 컴포넌트**: Topcoat UI는 shadcn/ui에서 영감을 받은 Tailwind 기반 컴포넌트 라이브러리로, 컴포넌트를 프로젝트에 복사하여 쉽게 사용자 정의할 수 있습니다. - **에셋 번들링**: 번들러는 바이너리에서 `asset!` 호출을 스캔하여 파일을 복사하거나 다운로드하고, 적극적인 캐싱으로 제공합니다. 웹 폰트 및 아이콘 유틸리티를 포함합니다. - **내장 Tailwind 지원**: Node 없이 Tailwind CSS를 통합하는 선택적 기능입니다. - **타사 통합**: htmx, Alpine AJAX, Datastar 등. Topcoat은 초기 단계의 실험적 프레임워크로, 호환성을 깨는 변경이 예상됩니다. 로드맵에는 정적 내보내기, 클라이언트 사이드 탐색, 인증 등이 포함되어 있습니다. 자세한 내용은 [시작 가이드](https://github.com/tokio-rs/topcoat/blob/main/crates/topcoat/docs/getting_started.md)와 [문서](https://docs.rs/topcoat/latest/topcoat)를 참조하세요.