This stack is so good that I had to make a video about it...
- 발표자는 복잡한 풀스택 웹 앱 개발을 위한 "꿈의 스택"을 발견했으며, 이는 웹 개발의 중요한 진화를 나타냅니다. 🚀
- React에서 SvelteKit으로 전환했으며, SvelteKit의 뛰어난 멘탈 모델, "룬(runes)" 기반의 반응성 시스템, 그리고 TRPC/Next.js 서버 액션과 유사한 내장 "원격 함수"를 높이 평가합니다. 💡
- 데이터베이스로 Convex를 강력히 추천하며, Firebase/Supabase보다 "인프라 코드(infra as code)" 방식, TypeScript 기반의 서버 측 보안(쿼리/뮤테이션), 그리고 원활한 배포를 장점으로 꼽습니다. 💾
- Convex 디렉토리 내에서 TypeScript로 데이터베이스 상호작용, 크론 작업, HTTP 액션을 정의하는 "인프라 코드"의 강력함을 강조하며, 이는 통합된 코드베이스, 타입 안전성, 동기화된 배포로 이어집니다. 💻
- 오류 처리를 위해 Effect의 가벼운 대안으로 Neverthrow를 채택하여 명시적이고 타입 안전한 오류 관리를 통해 서비스 안정성과 개발자 규율을 향상시켰습니다. 🛡️
- SvelteKit의 반응형 프리미티브를 확장하고 URL 검색 매개변수 및 컨텍스트 관리와 같은 일반적인 작업을 단순화하는 유틸리티 라이브러리인 Runed를 활용합니다. ✨
- 효율적이고 일관된 스타일링을 위해 Tailwind CSS를 사용합니다. 🎨
- 과거 Go 언어의 명시적 오류 처리 패턴에 대한 부정적인 시각을 버리고, "Effect 래빗홀" 경험을 통해 견고한 애플리케이션을 위해 오류를 명시적으로 처리하는 철학으로 전환했습니다. 🧠
- SvelteKit과 Convex 전체 스택이 단일 명령으로 동시에 배포되어 데이터베이스 마이그레이션, 스키마, 애플리케이션 로직이 항상 동기화되도록 합니다. 🔄