构建桌面应用程序是一件很困难的事情,首先,你需要了解多种语言(例如Java或C++),值得庆幸的是,随着技术的进步,类似ElectronJS这样的框架出现了,并简化了整个开发过程。

提到Electron相信许多程序员都不陌生,它是使用JavaScript,HTML和CSS构建跨平台的桌面应用程序,可以打包为Mac、Windows、Linux系统下的应用。虽然它确实很好用,但是却有两大致命的缺点:性能不高,内存消耗过大;包太大。

如果你想要构建一个Web或移动应用程序,并且希望使用相同的技术创建针对Windows、macOS或Linux平台的应用程序。或者是你已经用过Electron这样的技术构建了跨平台桌面应用程序,并且想要找到替代方案,那么接下来要介绍的这个神器一定不要错过。

Tauri是一个优秀的Electron替代品,官网对它的介绍是:

Tauri 是一个多语言工具链,可使用小型和快速的二进制文件构建安全的原生应用。所谓“多语言”,是指 Tauri 可使用多种编程语言,包括 Rust、JavaScript 和 TypeScript,将来还会支持 Go、C++ 和 Python 等。

它让你可以使用任何基于 HTML 和 JavaScript 的前端框架(例如 Vue.js、React 或 Angular)来构建原生桌面应用,并且可以将其集成到任何管道中。

它可以帮助你为主要的桌面平台(即将推出移动和 WebAssembly 支持)构建和打包二进制文件

Tauri主要具有以下特性:

  • 原始Tauri应用程序的打包大小小于3 MB,比Electron的大小小140 MB
  • 内存占用小于使用相同代码库构建的Electron应用程序的大小的一半
  • 安全
  • Tauri 兼容任何前端框架,因此你无需改变技术栈。
  • 它有许多设计模式,可通过简单的配置选择重要的特性。

但是底层是 Chromium 的使用者(例如Electron)无法获得 FLOSS(自由/开源软件) 许可。

Electron Js已经存在一段时间了,甚至得到了开发者和Atom、Vscode等大公司的广泛采用。接下来我们来对比一下两者的实力:

通过上表的对比,Tauri略优于Electron Js。但是话又说回来,Tauri 虽然壳子体积小,但并没有成熟的 Node.js 生态,功能也不够齐全,可能在开发阶段不是那么顺利。所以,如果是你,你会选择Tauri么?