现在大多数框架的默认做法,是先把一整套运行时塞进浏览器,再想办法让它别太慢。Astro 反过来:默认零 JS,需要的时候再局部加。
速度是一种体验
百毫秒的差别,用户未必说得出,但身体会记得。Lighthouse 跑出 100 分不是目的,打开即所得才是。
安全面更小
没有常驻的客户端运行时,就等于少了一大片被攻击的表面积。对我这种懒得天天打补丁的人来说,这很省心。
不是不能用 JS
需要评论、搜索、图表时,照样能用 React、Vue、Svelte 的组件,只是它们只在那一小块「岛屿」上活着,不影响整页。