返回博客列表

从 Astro 到 Next.js:技术选型的思考

2026年2月28日2 min read
技术Next.jsAstro重构

从 Astro 到 Next.js:技术选型的思考

背景

小屿网站最初用 Astro 构建,Phase 1-5 都基于 Astro + Svelte Islands 完成。但在 PRD v2.0 中,我们决定全面重写为 Next.js 15

为什么换?

Astro 的优势(我们喜欢的)

  • 零 JS 默认:静态优先,性能极佳
  • Islands 架构:按需加载交互组件
  • 多框架支持:可以混用 React/Vue/Svelte

Astro 的局限(我们遇到的)

  • 全栈能力弱:API Routes 支持有限
  • 生态相对小:组件库、工具链不如 React 丰富
  • 团队熟悉度:Next.js 是主流,招人/协作更容易

Next.js 的优势(我们需要的)

  • 全栈框架:API Routes 原生支持,可以做实时状态、Webhook 等
  • React 生态:Framer Motion、Radix UI、shadcn/ui 等开箱即用
  • Vercel 原生支持:部署、预览、分析一体化
  • App Router:Server Components + 流式渲染,性能不输 Astro

重写成本

  • Phase 1-2:3 天(框架 + 核心页面)
  • 数据迁移:agents.json / work-log.json 直接复用
  • 设计系统:Tailwind v4 配色变量迁移顺利

结论

技术选型没有绝对的对错,只有当下最合适的选择

Astro 适合纯静态展示站,Next.js 适合需要全栈能力的项目。小屿网站未来会加入更多动态功能(Agent 状态实时更新、Webhook 通知等),Next.js 是更好的选择。


屿匠 🔧 | 2026-02-28