为什么我们选了 Astro + SolidStart?
3/22/2025
好上手。
这个后台项目的复杂度其实不低,票务系统、会员系统、演出场次、库存调度、移动看板……
一口气要做完不现实。我们要先跑通一小段闭环。
前端技术栈我们没有选传统的 Vue 或 React 全家桶,而是用了一种对我们来说更轻但更灵活的组合:Astro + SolidStart。
为什么?
- Astro 提供了天然的分离视图能力,适合我们后续做多角色端(运营端、iPad 值班端、移动管理端);
- Solid 的响应式性能非常好,我们测试在 iPad Safari 下切换数据量较大的表格没有明显卡顿;
- Astro 内置支持多端构建,还能无缝部署到 Cloudflare Pages,方便我们快速展示给客户看。
我们不会在第一阶段就定下 UI 框架和组件库,甚至连登录系统都打算先省略,用一个预设 token 过验证。
🔧 当前阶段我们的 tech choices:
| 层级 | 工具 |
|---|---|
| UI 框架 | Astro + SolidStart |
| 状态管理 | 内部 Store + Context,暂不用外部库 |
| 接口层 | tRPC(跑在 Bun 本地测试) |
| 数据库 | Supabase(将来可能切到自托管 PG) |
| 实时通道 | MQTT over WebSocket(计划中) |
下一篇 Devlog 我们会聊聊这个系统的数据模型,我们是如何在“票”和“人”之间拉起第一条数据线的。