已发布·持续改进
Framework · 2022 年发布
Tauri 是一个用 Rust 核心和系统 WebView 构建小巧、安全的桌面与移动应用的框架,界面使用 Web 技术编写。
Tauri 是一个开源框架,它把用 HTML、CSS 和 JavaScript 编写的界面与用 Rust 编写的核心结合起来,生成适用于 Windows、macOS、Linux、Android 和 iOS 的应用。它的首个稳定版于 2022 年发布,如今同时支持桌面和移动平台。Tauri 不打包浏览器引擎,而是使用操作系统自带的 WebView(Windows 上的 WebView2、macOS 上的 WKWebView、Linux 上的 WebKitGTK 等),因此安装包较小,内存占用也比较低。
如果你想利用 Web 开发经验来构建桌面应用,同时又在意应用体积和安全性,Tauri 会是合适的选择。任何能构建为静态文件的前端都可以使用,例如 React、Vue、Svelte 或 Angular;而文件系统访问、系统托盘等贴近操作系统的工作则交给 Rust 命令和官方插件完成。WebView 中的代码只能使用 capability 和 permission 明确授予其窗口的功能,因此应用会自然地只开放真正需要的权限。
入门时,先安装 Rust 和所在平台的 WebView 开发库,然后用 create-tauri-app 创建项目,并以开发模式运行。即使不太熟悉 Rust,也可以从修改模板中的 greet 命令开始。官方文档会依次讲解命令、事件、安全模型和分发,下面的指南也按同样的顺序梳理要点。
Tauri 使用系统 WebView 而不打包浏览器引擎,安装包体积和内存占用都能保持在较低水平。
窗口管理、文件访问和繁重计算都在 Rust 中运行,带来快速且内存安全的后端。
通过 capability、permission 和 scope 规定每个窗口可用的命令和路径,其余功能默认一律禁止。
一套代码即可构建 Windows、macOS、Linux 桌面应用以及 Android 和 iOS 应用。
使用 rustup 安装 Rust。Windows 还需要 Microsoft C++ Build Tools 和 WebView2,macOS 需要 Xcode Command Line Tools,Linux 需要 WebKitGTK 等开发库。如果使用 Web 前端,还要安装 Node.js。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shcreate-tauri-app 会依次询问项目名称、标识符、前端语言、包管理器和 UI 模板,然后生成项目。
npm create tauri-app@latest安装依赖并以开发模式启动应用。首次运行需要几分钟来编译 Rust 依赖,之后前端的修改会立即生效。
cd tauri-app && npm install && npm run tauri devsrc-tauri/src/lib.rs 中是应用的 Rust 核心。标注了 #[tauri::command] 的 greet 函数是一个命令,前端可以通过 invoke("greet", { name }) 调用它,并通过 generate_handler! 进行注册。run 函数负责组装并启动应用,在桌面端由 main.rs 调用。运行 npm run tauri dev 后,应用窗口就会打开。
src-tauri/src/lib.rs
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {name}! You've been greeted from Rust!")
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
npm run tauri dev共六章,带你从安装一步步了解 Tauri 的核心概念。
在这里提问、分享经验,交流关于 Tauri 的看法。
还没有讨论。来发起第一个吧。
0 条评论
登录 · 登录后即可发表评论。
来发表第一条评论吧。