promise.then(...), by Rich Harris
- Svelte는 이제 컴포넌트 내에서 Promise를 직접 사용할 수 있게 되어, 비동기 처리의 오랜 난제를 해결했습니다. 🚀
- 웹 앱의 본질적인 비동기성에도 불구하고, 기존 컴포넌트 프레임워크들은 이를 제대로 다루지 못해 복잡한 상태 관리와 좋지 않은 사용자 경험을 초래했습니다. 🕸️
- SvelteKit의
load 함수나 Next.js의 getServerSideProps 같은 기존 프레임워크 솔루션은 타입 복잡성, 데이터의 거친 granularity, prop drilling, 확장성 부족 등의 문제로 최적화되지 못했습니다. 📉
- 데이터 의존성을 컴포넌트 내부에 직접 배치하는 "collocation"이 코드 유지보수성과 삭제 용이성을 높이는 핵심이며, 이는 과거의 관심사 분리 철학과 대조됩니다. 🧩
- React Server Components(RSC)는 "과도한 통신 프로토콜"과 복잡한 멘탈 모델로 인해 비판받으며, Svelte는 다른 접근 방식을 추구합니다. 💬
- Svelte의 "우리는 컴파일러다" 철학은 JavaScript 문법의 의미론을 재정의하여(예: 반응형 할당, 룬, 스코프 CSS,
await) 더욱 직관적이고 강력한 개발 경험을 제공하는 비장의 무기입니다. ✨
using 키워드(명시적 리소스 관리)는 컴파일러가 컴포넌트 생명주기 리소스를 우아하게 관리할 수 있는 또 다른 예시로 제시됩니다. ♻️
- 새로운
await 기능은 모든 비동기 업데이트를 동기화하고 병렬 처리하여, UI의 불일치를 방지하고 사용자 경험을 향상시킵니다. ⏳