Tauri —— 用前端技术打造小巧快速的跨平台桌面应用

# Tauri —— 用前端技术打造小巧快速的跨平台桌面应用

## 项目介绍

Tauri 是一个用于构建轻量级、高性能桌面应用程序的框架。与 Electron 不同,Tauri 后端使用 Rust 语言编写,前端可以使用任意能编译为 HTML/CSS/JS 的框架(React、Vue、Svelte、Solid 等)。Tauri 生成的二进制文件体积极小(Windows 上可小于 10MB),启动速度快,内存占用低,被广泛应用于需要高效桌面体验的生产项目中。

Tauri 由 Tauri Programme组织和 Tauri 公司维护,支持 Windows、macOS、Linux、iOS、Android等多个平台,全球星标数超过 10 万,是当前最火热的桌面应用框架之一。

## 核心特色功能

**极小包体积**:Electron 应用动辄 100MB 以上,而 Tauri 应用可小于 10MB。这是因为 Tauri 不捆绑 Node.js 和整个 Chromium 浏览器,而是使用操作系统原生 WebView,极大减少了体积。

**高性能**:由于直接调用系统 WebView,Tauri 的渲染性能非常优秀,内存和 CPU 占用远低于 Electron。

**Rust 后端**:后端逻辑使用 Rust 编写,享受 Rust 的内存安全保证和极佳性能,同时可以调用整个 Rust 生态的 Crate。

**权限系统**:Tauri v2 引入了精细的权限管理机制,每个 API(如文件系统、网络、剪贴板)都需要在配置中显式声明和授权。

**热重载**:前端开发时支持热重载,提升开发效率。

**自动更新**:内置应用自动更新功能,支持增量更新。

**原生系统集成**:支持系统托盘、通知、原生对话框、剪贴板、系统托盘菜单等。

## 系统要求

开始之前,确保安装了以下依赖:

**Windows**:需要 Visual Studio Build Tools(含 C++ 工具链)和 Rust。

**macOS**:需要 Xcode Command Line Tools 和 Rust。

**Linux**:需要 webkit2gtk 4.1(Ubuntu 22.04+)或 webkit2gtk 4.0(Ubuntu 18.04)。安装方法:

“`bash
# Ubuntu 22.04+
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
libssl-dev \
libdbus-1-dev \
libayatana-appindicator3-dev \
librsvg2-dev
“`

## 安装步骤

首先安装 Rust(macOS/Linux):

“`bash
curl –proto ‘=https’ –tlsv1.2 -sSf https://sh.rustup.rs | sh
“`

安装 Tauri CLI:

“`bash
npm install -g @tauri-apps/cli
“`

或者使用 Cargo:

“`bash
cargo install tauri-cli
“`

## 创建第一个 Tauri 应用

使用官方脚手架创建项目:

“`bash
npm create tauri-app@latest my-app
“`

进入项目目录:

“`bash
cd my-app
“`

安装依赖:

“`bash
npm install
“`

启动开发模式:

“`bash
npm run tauri dev
“`

这会打开 Tauri 应用窗口,并在前端代码变更时自动热重载。

## 项目结构

Tauri 项目结构如下:

“`
my-app/
├── src/ # 前端源代码
├── src-tauri/ # Rust 后端代码
│ ├── Cargo.toml
│ ├── tauri.conf.json
│ └── src/
│ └── main.rs
└── package.json
“`

## Rust 后端示例

在 `src-tauri/src/main.rs` 中可以定义 Rust 命令供前端调用:

“`rust
#[tauri::command]
fn greet(name: &str) -> String {
format!(“Hello, {}!”, name)
}

fn main() {
tauri::Builder::default()
.invoke(“greet”, |name| {})
.run(tauri::generate_context!())
.expect(“error while running tauri application”);
}
“`

在前端 TypeScript 中调用:

“`typescript
import { invoke } from “@tauri-apps/api/tauri”;

const greeting = await invoke(“greet”, { name: “World” });
console.log(greeting); // “Hello, World!”
“`

## 构建发布版本

开发完成后,打包应用:

“`bash
npm run tauri build
“`

构建产物位于 `src-tauri/target/release/bundle/` 目录,根据平台不同会生成:

– Windows: .exe 或 .msi 安装包
– macOS: .dmg 或 .app
– Linux: .deb、.AppImage 等

## 应用场景

1. **桌面效率工具**:如笔记应用、文件管理器、系统监控工具
2. **跨平台 GUI 工具**:需要同时支持 Windows/macOS/Linux 的产品
3. **轻量级客户端**:替代 Electron,减少安装包体积和内存占用
4. **嵌入式应用**:Tauri 也支持 Android 和 iOS,可构建移动端应用
5. **游戏辅助工具**:很多游戏工具、辅助软件使用 Tauri 构建

## 开源协议

Tauri 采用 MIT 或 Apache-2.0 许可证开源。

## 相关资源

– 官方文档:https://tauri.app
– GitHub 仓库:https://github.com/tauri-apps/tauri
– Discord 社区:https://discord.gg/tauri


服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容