跳到正文

Tauri

中级网页App

Tauri 是用网页技术制作界面、用 Rust 承接本地能力的跨端应用框架,借助系统 WebView 显示界面。它让你把网页界面做成可安装的桌面或移动应用,并通过受控接口访问文件等系统功能。

你可能会说:「我想把现有网页做成能安装的电脑软件,还能读取用户选中的本地文件。」

读之前建议先了解

动手看看

读取请求网页界面等待结果受控接口检查权限Rust端尚未调用本地笔记尚未访问
1

用户点击「读取笔记」。界面由系统 WebView 显示,网页代码把读取请求交给 Tauri 的受控接口。

要点

  1. 1

    网页界面运行在系统容器里

    你可以用 React、Vue 或普通网页技术写界面,Tauri 再用系统 WebView 显示它。因为不同平台的 WebView 实现不同,所以同一套界面仍要分别测试。

  2. 2

    本地能力通过受控接口调用

    读写文件等操作可以交给 Rust 命令或插件,网页通过接口发起调用。这样能把界面与本地逻辑分开;你还需要限制插件权限,并在自定义命令里校验参数和访问范围。

  3. 3

    跨端复用不等于一次打包

    Tauri 2 支持桌面和移动平台,但各平台仍有自己的构建、签名与发布流程。我们能复用很多代码,却不能假设桌面插件都支持手机,也不能把一个安装包直接用于所有系统。

容易混淆的地方

Tauri 和 Electron 都能用网页技术做桌面应用,但 Tauri 使用系统 WebView,Electron 随应用携带 Chromium 和 Node.js,因此两者的体积、兼容性和本地接口方案不同。React、Vue 则主要负责界面,可以放进 Tauri 使用,本身不负责生成原生应用安装包。

什么时候用

适合用

  • 把已有的网页笔记工具做成桌面应用,让用户选择文件夹并在本地保存笔记。
  • 开发桌面 AI 助手,复用网页聊天界面,同时接入托盘、快捷键和本地文件。
  • 团队熟悉网页开发,希望复用界面代码做多端客户端,并愿意逐个平台测试和发布。

不适合用

  • 只是做一个通过网址访问的后台管理系统,用网页框架和网站托管就够了。
  • 产品主要发布为微信小程序,选小程序原生开发或 Taro,而不是 Tauri。
  • 应用必须深度依赖某个平台的原生界面与系统能力,优先评估 Swift 或 Kotlin 原生开发。

练一练

你已有一个 React 文件整理工具,现在想让用户安装到 Windows 和 macOS,并选择本地文件夹批量重命名。哪种方案更合理?

让 AI 帮你做

请用 Tauri 2 和 React 做一个面向 Windows、macOS 的本地笔记应用。用户选择文件夹后才能读写其中的笔记;使用受限的文件接口并校验路径。先列出插件、权限与构建方案,再实现最小版本,说明各平台的测试和签名步骤。

接下来学什么