背景
BoxPlayer 目前基于 Electron 构建。Electron 的生态成熟、踩坑少,但也带来了一些长期被用户反馈的问题:
安装包过大、内存占用高、启动慢、自动更新偶有失败等。
为了给大家更轻量、更流畅的桌面体验,本项目计划在 AI 辅助 下,逐步将主框架从
Electron 迁移到 Tauri。本 issue 用于公开告知此计划,
并收集社区的意见和顾虑。
为什么是 Tauri
| 维度 |
Electron(当前) |
Tauri(目标) |
| 安装包大小 |
~120 MB+ |
~5–15 MB |
| 内存占用 |
较高(自带 Chromium) |
显著降低(系统 WebView) |
| 启动速度 |
偏慢 |
明显更快 |
| 后端语言 |
Node.js |
Rust(更安全、更高性能) |
| 安全性 |
默认开放面较大 |
默认最小权限,能力按需开启 |
| 自动更新 |
electron-updater |
内置 updater,签名校验更规范 |
| 系统集成 |
一般 |
更贴近原生(托盘、通知、协议) |
迁移带来的好处
- 更小的体积:用户下载和升级速度大幅提升,省流量、省磁盘。
- 更低的资源占用:内存、CPU 占用下降,老旧设备也能流畅运行。
- 更快的启动:冷启动时间显著缩短。
- 更安全:Rust 后端 + Tauri 的最小权限模型,减少潜在风险面。
- 更好的可维护性:借助 AI 重构,代码风格更统一,模块边界更清晰。
- 更顺滑的自动更新:原生的 updater 机制,签名与回滚更可靠。
迁移可能带来的影响
- 部分依赖 Node 原生模块(如 aria2 调度、文件系统操作)需要用 Rust 重写或寻找等价方案。
- WebView 在不同平台(Windows WebView2 / macOS WKWebView / Linux WebKitGTK)行为存在
细微差异,渲染层可能需要做兼容性调整。
- 迁移期间可能出现短暂的功能缺失或回归,会以分阶段、可灰度的方式推进。
计划与节奏
- 阶段一:搭建 Tauri 工程骨架,前端 Vue 代码尽量原样复用。
- 阶段二:核心能力迁移(账号、网盘文件操作、播放器、媒体服务器、下载器)。
- 阶段三:自动更新、托盘、协议跳转、系统集成等收尾。
- 阶段四:双轨并行一段时间(Electron 旧版 + Tauri 新版),稳定后切换主线。
迁移期间 Electron 版本继续维护关键 bug 修复,不会立刻停更。
寻求社区反馈
- 你最在意 Tauri 版本带来的哪个改进?(体积 / 内存 / 启动 / 安全 / 其他)
- 有没有强依赖于当前 Electron 行为的使用场景,希望我们在迁移时重点关注?
- 你愿意试用 Tauri 预览版并提供反馈吗?
欢迎在评论区讨论。🙏
备注:迁移工作将在 AI 辅助下进行,但所有合并到主线的代码都会经过人工审阅与测试,
不会因此降低质量标准。
背景
BoxPlayer 目前基于 Electron 构建。Electron 的生态成熟、踩坑少,但也带来了一些长期被用户反馈的问题:
安装包过大、内存占用高、启动慢、自动更新偶有失败等。
为了给大家更轻量、更流畅的桌面体验,本项目计划在 AI 辅助 下,逐步将主框架从
Electron 迁移到 Tauri。本 issue 用于公开告知此计划,
并收集社区的意见和顾虑。
为什么是 Tauri
迁移带来的好处
迁移可能带来的影响
细微差异,渲染层可能需要做兼容性调整。
计划与节奏
迁移期间 Electron 版本继续维护关键 bug 修复,不会立刻停更。
寻求社区反馈
欢迎在评论区讨论。🙏