29 个回答
作为Electron的替代方案,这类的框架越来越多,tauri只是其中之一,他们都尝试解决Electron的两个比较明显的的问题:
- 包太大,因为electron会自动塞入Chromium和nodejs,一个什么也不做的electron项目压缩后也大概要50m。
- 内存消耗过大,因为Chromium本身就很吃内存,再加上提供操作系统访问能力的nodejs,很可观的内存消耗,对小工具类的项目不友好。
tauri看了一下,不再塞入Chromium和nodejs,前端使用操作系统的webview,后端和操作系统集成这块使用rust实现,理论上应该比nodejs要精简高效,类似的项目还有:
- NeutralinoJS 前端嵌入一个webview,后端直接实现一个c++实现的http server。
- Chromely 前端嵌入一个CEF,后端使用.net。
- electrino 和tauri类似,使用系统的webview,并实现一个后端(windows下似乎也是基于.net)。
- go-astilectron 仍然基于Electron,但后端换成go语言。
- wails webview+go的后端
但是这类项目的问题都在于。。。不成熟,基本上看下文档就知道了,作为开发桌面应用的方案,操作系统访问的api很少,甚至不具备( 或者是没有写文档? ),很难用于开发正式的项目,但是值得关注,一旦成熟起来,替代Electron就大有希望。
我是开源项目 Justmd 的作者,Justmd是一款基于Electron的markdown编辑器,从下载页面就可以看到,每个平台的包都很大,其实我也一直在等待一款替代Electron的框架出现,可以让用户下载起来轻松一些。