Tanstack Start might be the best framework
- Tanstack Start는 새로운 React 메타 프레임워크로, 현재 RC 버전이며 높은 기대를 받고 있습니다. 🚀
- Tanstack Router를 기반으로 구축되어, 풀 문서 SSR, 스트리밍, 서버/API 라우트, 서버 함수, 미들웨어, 풀 스택 번들링, 종단 간 타입 안전성을 제공합니다. 🛠️
- 현재 React Server Components를 지원하지 않지만, 적극적으로 개발 중이며 곧 추가될 예정입니다. 🚧
- 라우팅은 Tanstack Router에 100% 의존하며, 파일 기반 라우팅을 포함한 다양한 방식을 지원합니다. 🗺️
- 파일 기반 라우팅은
폴더/index.tsx (정확한 경로) 및 폴더/$id.tsx (동적 세그먼트)와 같은 직관적인 규칙을 따릅니다. 📁
route.params 훅을 통해 URL에서 동적 세그먼트를 쉽게 추출할 수 있습니다. 🔗
- 서버 함수는 서버 전용 로직을 정의하며, 클라이언트 코드에서 원활하게 호출할 수 있어 데이터 페칭(GET) 및 데이터 변경(POST)에 사용됩니다. ⚙️
createServerFunction API를 사용하며, 로더와 통합되어 컴포넌트에서 데이터를 쉽게 로드할 수 있습니다. 📥
- 서버 함수의 핵심 기능은 강력한 입력 유효성 검사기(Input Validator)로, 종단 간 타입 안전성을 보장하고 유효성 검사 실패 시 오류를 발생시킬 수 있습니다. ✅
- 환경 함수는 코드가 클라이언트, 서버 또는 양쪽 모두에서 실행될지 선택할 수 있게 하여,
createServerOnlyFunction, createClientOnlyFunction, createIsomorphicFunction을 제공합니다. 🌍
createIsomorphicFunction은 서버와 클라이언트 로직을 명확하게 분리하여 환경 변수 처리 및 책임 분리에 유용합니다. ↔️
- 미들웨어는 인증, 권한 부여, 로깅, CSP 등 다양한 용도로 활용될 수 있으며,
createMiddleware 함수를 통해 정의됩니다. 🛡️
- 미들웨어는 서버 함수 실행 전 또는 모든 서버 라우트에 적용될 수 있어 보안 및 개발 경험을 향상시킵니다. 🚦
- 서버 라우트는 원시 HTTP 요청을 처리하는 서버 측 엔드포인트를 생성하여, 외부 서비스에 API를 노출하는 데 유용합니다. 📡
데브허브 | DEVHUB | Tanstack Start might be the best framework