Svelte just got a new feature and web dev is changing AGAIN...
- SvelteKit의 Remote Functions는 프론트엔드와 백엔드 간의 경계를 허물어 개발자가 서버 코드를 더 쉽게 호출할 수 있도록 한다. ⚙️
- Remote Functions는 서버에서 실행되지만, 클라이언트에서는 HTTP 요청을 래핑하여 타입 안전성을 보장하고 민감한 정보 유출을 방지한다. 🛡️
- Query 함수는 서버에서 데이터를 가져오는 데 사용되며, ZOD나 Valibot을 통해 인수를 검증하여 사용자 입력을 안전하게 처리할 수 있다. 🔍
- Form 함수는 HTML form 요소와 연결되어 JavaScript가 비활성화된 경우에도 작동하며, JS가 활성화되면 페이지를 다시 로드하지 않고도 폼 제출이 가능하다. 📝
- Command 함수는 Form과 유사하지만, 쿼리 새로 고침을 트리거하거나 낙관적 업데이트를 수행하여 UI에 즉시 반영할 수 있다. 🚀
- Pre-render 함수는 빌드 시점에 생성되어 CDN에서 제공되는 데이터에 사용되며, 페이지 로드 시 즉시 데이터를 사용할 수 있어 빠른 탐색이 가능하다. ⚡
- Remote Functions는 현재 실험적인 기능이지만, 웹 개발의 다음 단계로 여겨지며 프론트엔드와 백엔드의 결합에 대한 논쟁을 불러일으키고 있다. 🤔