slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
我对 Tauri 框架的看法
17611538698
webmaster@21cto.com

我对 Tauri 框架的看法

前端 0 2164 2024-05-24 05:13:03

图片

导读:Tauri 是一个基于 Rust 语言,用于构建桌面应用程序的框架。本文将详细介绍其功能以及作者认为的优缺点。

我一直很喜欢GUI图形界面,不管是基于桌面的还是基于浏览器的,但是你需要对后者进行五年的学习和实训。这就是我喜欢并且仍然使用 Vaadin 的原因:你无需编写一行 HTML、JavaScript 和 CSS 即可开发 Web UI。

现在,我对这个话题仍然感兴趣;在几年前,我认真分析了JVM 桌面框架的状态。

我本人也非常喜欢 Rust 编程语言,而Tauri 是一个基于 Rust 的用于构建桌面应用程序的框架。

以下是我的个人看法。

概述

使用Tauri 构建优化、安全、独立于前端的应用程序,适用于多平台部署。

Tauri 开发基础

Tauri 应用由两个模块组成:采用标准 Web 网页开发技术(HTML、Javascript 和 CSS)的客户端模块和采用 Rust 的后端模块。Tauri 在专用的 Chrome 浏览器实例中运行 UI。

用户像往常一样与 UI 交互。Tauri 通过特定的 JS 模块(即)在客户端 JavaScript 和后端 Rust 之间提供绑定window.__TAURI__.tauri。

它还提供其它用于与本地系统交互的模块,例如文件系统、操作系统、剪贴板、窗口管理等。

绑定基础字符串。以下,是客户端示例代码:

const { invoke } = window.__TAURI__.tauri;


let greetInputEl;
let greetMsgEl;


greetMsgEl.textContent = await invoke("greet", { name: greetInputEl.value }); //1


调用 Tauri 命令 greet

以下,是相应的 Rust 代码:

#[tauri::command]                                                              //1
fn greet(name: &str) -> String { //1
format!("Hello, {}! You've been greeted from Rust!", name)
}

在此,我们定义了一个 Tauri 函数,名为greet。

在下面的部分中,我将列出 Tauri 的优点、不足之处或者缺点。请记住,这是我根据以前的经验得出的主观意见。

优点

入门容易

幸运的是,Tauri入门容易,这种情况其实越来越少见,但是,有些技术还是需要记住,在成为专家之前,我们要一直保持新手心态。任何产品的第一部分都应该是对该技术的快速解释,第二部分是入门。

Tauri 在这方面取得了成功;我按照快速入门指南在几分钟内就搞定了我的第一个 Tauri 应用程序。

技术文档

Tauri 的文档全面、广泛(就我浏览的而言)并且结构良好。

良好的反馈正循环

我曾体验过一些令人兴奋的技术,但反馈循环(即看到更改结果所需的时间)却使该技术变得无法坚持使用。GWT ,我正在关注你。短的反馈正循环有助于带来出色的开发人员体验。 

在这方面,Tauri 得分较高。只需一个简单的命令即可启动应用程序:

cargo tauri dev


如果前端发生变化,Tauri 会重新加载它。如果任何元数据发生变化(例如存储中的任何内容),比如tauri.conf.json,Tauri 会重新启动应用程序。唯一的缺点是这两种行为都会丢失 UI 状态。

完整的生命周期管理

Tauri 不仅帮助我们开发应用程序,还提供调试、测试、构建和分发应用程序的工具。

优点

起初,我想创建一个桌面软件:一个文件重命名应用。但是,当我想使用文件浏览器按钮选择系统文件夹时,很快就遇到了问题。首先,Tauri 不允许使用常规的 JavaScript 文件 API;相反地,它提供的能力很有限。更糟糕的是,你需要显式配置构建时可用的文件系统路径,它们还变成枚举的一部分。

我知道安全性是现代软件中日益受关注的问题。但我不明白为什么桌面应用程序会有这种限制,因为其它所有应用程序都可以访问系统任何目录。

缺点

Tauri 最大的特色是它的设计。更准确地说,是前端和后端的分离。我喜欢 Vaadin 的地方在于它管理着前端的一切,让你只需学习框架。它允许后端开发人员构建 Web 应用程序,而无需关心 HTML、CSS 和 JavaScript。

Tauri 虽然是一个桌面框架,但却做出了完全相反的选择。就是,你的开发人员和团队需要了解前端技术。

更“糟糕”的是,这种分离重现了使用浏览器技术,创建 UI 时创建的请求/响应式模型,(提示:早期的桌面应用使用观察者模型)该模型更适合用户交互。我们只是在将应用移植到 Web 上后才围绕请求/响应模型设计应用。在我看来,在桌面应用中使用此模型是一种技术倒退。

结论

Tauri 有很多值得开发者喜欢的地方,主要是围绕用户体验的一切。如果你或你的团队擅长并喜欢Web技术,请尝试 Tauri。

但是,这对我来说并不可行:为了创建一个简单的桌面应用程序,我并不想学习如何居中div或者了解 flexbox 布局。

作者:亚历山大 ·阮

评论