TL;DR
- Rich Harris が、Svelte の設計を導く 10 の考え方をまとめた投稿である。
- 速さや採用数よりも使い心地を大切にし、HTML を土台に、少ない API で直感的に使えることを目指している。
内容
- The web matters: Web はとても大切だが、生き残る保証はない。Svelte の仕事は Web を守りたいという動機に基づいている。
- Optimise for vibes: 人が Svelte を選ぶのは、その美学が好きだからである。速さや小ささを追うより、使い心地が最もよいフレームワークを目指す。
- Don’t optimise for adoption: 人気は目標ではない。Web 開発の流行に逆らうことになっても、最もよいフレームワークを目指す。
- HTML, The Mother Language: HTML は UI を表す強力な手段である。HTML を JavaScript の後ろに隠すより、HTML を中心にするほうが自然なので、Svelte は対話的な UI のために HTML を拡張する。
- Embrace progress: バンドラや TypeScript がなかった時代を美化しない。技術に楽観的でいて、ほかのフレームワークの新しいアイデアから学ぶ。
- Numbers lie: Lighthouse のような指標は診断の道具であって、目標ではない。設計は質的な判断で決め、数字はその材料の一つにする。
- Magical, not magic: Svelte は中身の見えない魔法ではなく、力を与えてくれるものと感じられるべきである。Svelte 3 は説明のない挙動に寄りすぎたので、Svelte 5 でそれを直す。
- Dream big: 「適切な道具を選べ」で妥協せず、どんなアプリでも SvelteKit が最良の選択になるにはどうすればよいかを考える。
- No-one cares: ほとんどの人はフレームワークに関心がない。だから Svelte は直感的で、覚える API が少なく、メモ化のような手動の最適化が要らず、ドキュメントを見つけやすくあるべきである。
- Design by consensus: Svelte はコミュニティが動かす。計画は公開して共有し、全員の合意が得られなくても、反対意見を聞いて検討する。
キーワード