在公司也开发了几个桌面程序了,之前主要用了两种技术方案:
- Python + PyQT5 + PyInstaller
- Electron + Vite + Vue3
都支持多端,开发桌面程序体验也都不错,但是有一个很严重的问题,就是打包好的程序体积都不小,一般都需要 100MB 左右。
公司还有一波人用 C++ 开发的,像下载器那种桌面程序,最终体积只有 2MB,很适合推广使用,这差距就比较大了。
尝试学了下 C++,由于开发环境的问题,体验不好,所以也没深入学习。
最终还是回到寻找替代方案上面,于是网上搜索了下,找到了两种新方案:
- Tauri
- Neutralino.js
Tauri 用 Rust 实现核心,嵌入系统 WebView(Windows 使用 WebView2),前端部分使用 HTML、CSS、JS,最后打包成极小的原生程序,最终体积可以控制在 10MB 以内。
Neutralino 用系统浏览器引擎来渲染前端,核心就是一个非常小的 C/C++ 编译的可执行文件 neutralino.exe(不同平台有不同版本),因此文件也可以极小,甚至比 Tauri 还小。
Neutralino.js 追求极轻量与简易,Tauri 则追求安全性、性能与复杂功能支持,所以 Tauri 更适合复杂项目、企业级应用、跨平台构建。
下面是它们的一些对比:
| 维度 | Neutralino.js | Tauri |
|---|---|---|
| 核心理念 | 极简封装 | 安全高性能原生集成 |
| 可扩展性 | 弱 | ✅ 强(Rust 插件系统) |
| 复杂功能支持 | 基础 | ✅ 全功能桌面级 |
| 打包体积 | ✅ 极小 | 小(仍比 Electron 小很多) |
| 适合对象 | 前端开发者、工具型项目 | ✅ 应用级产品、跨平台项目 |
如果只想把网页打包成桌面程序、要求文件体积小,推荐 Neutralino.js。
如果想开发复杂逻辑的桌面应用、插件系统、后台线程、跨平台企业应用或生产级产品(含安全要求),就需要 Tauri。







