This Week in Svelte, Ep. 117 — Changelog, Formisch
- Svelte 생태계에서 폼 처리 및 유효성 검사의 중요성을 강조하며, Valibot 개발자인 Fabian이 Formisch 라이브러리를 선보임. 📝
- Svelte 팀이 AI와의 통합 개선을 위해 커뮤니티에 일반적인 AI 오류(예: 잘못된 import,
on:click 대신 onclick 사용)에 대한 피드백을 요청함. 🤖
- Svelte에 실험적인 비동기 SSR(서버 사이드 렌더링) 기능이 도입되어, 컴포넌트 내에서
await를 직접 사용할 수 있게 됨. 이는 svelte:boundary 없이 실제 데이터를 SSR 중에 렌더링하여 개발 경험과 성능을 크게 향상시킴. 🚀
- 비동기 SSR 기능은 현재 Svelte에만 적용되었으며, SvelteKit에서 이 기능을 활용하려면 SvelteKit의 추가 업데이트가 필요함. 🛠️
render 함수가 await 사용 여부에 따라 비동기/동기 렌더링을 자동으로 처리하여, 별도의 비동기 렌더링 함수를 학습할 필요가 없음. ✨
hidden 속성 및 await를 포함하는 블록 표현식에서 SSR 컨텍스트가 유지되지 않던 버그 등 SSR 관련 여러 문제가 해결됨. 🐛
- SvelteKit의 원격 함수 코드 변환이 더욱 견고해졌으며,
transport hook을 통해 사용자 정의 타입 직렬화를 지원함. 📡
- SvelteKit의 원격 폼 함수가 스키마(Valibot, Zod 등)를 지원하게 되어,
FormData 대신 유효성 검사를 거친 객체를 직접 받을 수 있게 됨. 이는 폼 유효성 검사 및 타입 안전성을 획기적으로 개선함. 🛡️
- 이름 지정 규칙(예:
name.first, jobs[0].title)을 통해 중첩된 객체 및 배열 형태의 복잡한 폼 데이터를 쉽게 처리할 수 있게 됨. 🌳
pre-flight schema를 사용하여 서버로 전송하기 전에 클라이언트 측에서 유효성 검사를 수행할 수 있어 사용자 경험이 향상됨. ⚡
- 폼 필드에 대한 타입 안전한 접근(
field 메서드)과 유효성 검사 실패 시 issues 객체를 통한 명확한 오류 처리가 가능해짐. ✅