Tauri:是时候全面拥抱Rus开发工具吗?
Author:zhoulujun Date:
前端构建层面,为了性能,现在大部分项目都放弃了JS,而选择go 或rust来做开发
esbuild是一个用 Go 语言编写的打包构建工具,它突破了构建工具性能的极限(遥遥领先 webpack/rollup/parcel)。vite就是通过esbuild而大放异彩!(2023 年 2 月发布Vite 4.1将 Rollup 和 esbuild 的版本进行同步 )
Rspack基于 Rust 的高性能Web 打包工具,实在不要太爽,顺手案例下:https://rspack.dev/zh/
同样在客户端开放层面,也是时候抛弃 Electron了
Tauri
Tauri 是一个跨平台 GUI 框架,与 Electron 的思想基本类似。Tauri 的前端实现也是基于 Web 系列语言,Tauri 的后端使用 Rust。Tauri 可以创建体积更小、运行更快、更加安全的跨平台桌面应用。
Tauri VS Electron
Detail | Tauri | Electron |
---|---|---|
Installer Size Linux | 3.1 MB | 52.1 MB |
Memory Consumption Linux | 180 MB | 462 MB |
Launch Time Linux | 0.39s | 0.80s |
Interface Service Provider | WRY | Chromium |
Backend Binding | Rust | Node.js (ECMAScript) |
Underlying Engine | Rust | V8 (C/C++) |
FLOSS | Yes | No |
Multithreading | Yes | Yes |
Bytecode Delivery | Yes | No |
Multiple Windows | Yes | Yes |
Auto Updater | Yes | Yes |
Custom App Icon | Yes | Yes |
Windows Binary | Yes | Yes |
MacOS Binary | Yes | Yes |
Linux Binary | Yes | Yes |
iOS Binary | Soon | No |
Android Binary | Soon | No |
Desktop Tray | Yes | Yes |
Sidecar Binaries | Yes | No |
此外,如果你的用户具备 Tauri 所使用的合适 webview runtime,你就可以只分发单个可执行文件,然后在任何支持的平台进行安装使用。
Tauri 的劣势
开发成本
在 Electron app 中,你用 Javascript 编写代码,因为 Electron 使用 Nodejs 的 runtime。而 Tauri 的后端是基于 Rust 实现的,你不得不用 Rust 重写 app 后端,在这个方面来讲,Electron 是胜者。至于当前,实现能够可替换的后端也在 Tauri 的未来规划中,比如 Python、C++ 或者 Deno。个人来将
Electron 的架构中,分为主进程和渲染进程,主进程运行着一个 nodejs 的 runtime,而渲染进程想要进行除了 ajax 的 io 操作,大都需要通过 ipc 去调用主进程 nodejs 的 runtime,比如读、写文件,执行命令等等。
而Tauri 依赖rust工具,
兼容性
Electron 底层使用 Chromium,所以你在 Windows、linux、macos 上看到的前端效果都是一样的,而另一边的 Tauri 使用的系统自带的 webview:windows 上 Edge webview2,linux 和 macos 上的 webkitGTK。所以兼容性层面,一言难尽!当然你也可以自己去集成浏览器引擎,但小团队就别搞——容易扯到蛋!
生态系统
Electron拥有庞大的生态系统,有许多成熟的库和工具可供开发者使用。Tauri相对较新,生态系统相对较小,但也在不断发展壮大。
总之,Tauri适用于对应用程序体积和性能有较高要求的场景,以及希望更灵活集成浏览器引擎的开发者。
Tauri 开发
https://tauri.app/zh-cn/v1/guides/getting-started/setup/
yarn create tauri-app
试了一下,感觉
参考文章:
扔掉 Electron,拥抱基于 Rust 开发的 Tauri https://mp.apipost.cn/a/e9e6d52313381bbb
https://www.levminer.com/blog/tauri-vs-electron
转载本站文章《Tauri:是时候全面拥抱Rus开发工具吗?》,
请注明出处:https://www.zhoulujun.cn/html/webfront/AppDev/Tauri/9199.html