• home > webfront > AppDev > Tauri >

    Tauri:是时候全面拥抱Rus开发工具吗?

    Author:zhoulujun Date:

    前端构建层面,为了性能,现在大部分项目都放弃了JS,而选择go 或rust来做开发。比如esbuild、respack的。那么客户端开发,是否抛弃Electron而选择类似Tauri等工具呢?

    前端构建层面,为了性能,现在大部分项目都放弃了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

    DetailTauriElectron
    Installer Size Linux3.1 MB52.1 MB
    Memory Consumption Linux180 MB462 MB
    Launch Time Linux0.39s0.80s
    Interface Service ProviderWRYChromium
    Backend BindingRustNode.js (ECMAScript)
    Underlying EngineRustV8 (C/C++)
    FLOSSYesNo
    MultithreadingYesYes
    Bytecode DeliveryYesNo
    Multiple WindowsYesYes
    Auto UpdaterYesYes
    Custom App IconYesYes
    Windows BinaryYesYes
    MacOS BinaryYesYes
    Linux BinaryYesYes
    iOS BinarySoonNo
    Android BinarySoonNo
    Desktop TrayYesYes
    Sidecar BinariesYesNo
    Tauri 的一个主要优势是:app 被整个编译成为了一个二进制文件,这意味着你需要一个反向工程专家才能反编译这个 app,而 Electron 这边,你可以使用一个简单的 npm 命令便可以解包 app 。

    此外,如果你的用户具备 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

    上一篇:第一页
    下一篇:最后一页