Electron
Electron 是一个使用 JavaScript、HTML 和 CSS 等 Web 技术创建原生应用程序的框架。它负责处理困难的部分,因此您可以专注于应用程序的核心。如果您可以构建网站,则可以构建桌面应用程序。
Tauri
Tauri 是一个框架,用于为所有主要桌面平台构建微小、极快的二进制文件。开发人员可以集成任何可编译为 HTML、JS 和 CSS 的前端框架来构建他们的用户界面。应用程序的后端是一个来自 rust 的二进制文件,带有一个前端可以与之交互的 API。
Electron vs Tauri
Electron的安装包通常都要几十M,而Tauri只有几M,在这点上,Tauri完全碾压Electron。
Tauri打包的应用程序是二进制的,因此逆向破解不容易,而对于electron应用可以通过npm命令进行加压缩应用程序。
在启动时间上Tauri相对也要快一些,这也是很多electron应用被人诟病最多的点。
在应用性能方面,Electron占用的内存更多,特别是在linux上,似乎Electron占用更多的内存。
在安全性上,Tauri可以说非常安全,它默认内置了很多安全功能,你可以通过禁用某些api来实现更加安全的应用。而对于Electron来说,node api可以完全控制整个应用。
对于更新来说,两者都提供了自动更新的功能,通过使用electron-updater,electron应用可以非常简单地从github上获取二进制文件。对于Tauri来说,我们需要自己维护更新服务器。
在开发效率上,如果你是前端用户的话,那么对于electron应用来说,你的开发效率会很高,但是对于后端用户来说,或者说对于Rust用户来说,tauri开发会更便捷。
总结
虽然js的强大有目共睹,曾经的h5也曾经想要取代移动应用,虽然现在依然还有很多混生app,但是相对于原生移动应用程序来说,它还不是主流。
electron等应用框架本想让前端在桌面端也可以大放异彩,但是相对来说,原生应用还是占据主导地位。
其实不管electron也好,tauri也罢,它们都是在降低开发者在开发应用上面的难度,但是很多时候,对于用户来说,性能和用户体验远比开发者开发体验要重要百倍,千倍。