resume / blog

Tauri 02: IPC Intro

TauriWebDev

1. 为什么需要 IPC?

Tauri 应用本质上由两部分组成:

  • 前端 WebView(HTML / CSS / JavaScript)
  • Rust 后端 Runtime

前端负责界面渲染,而系统能力(文件系统、窗口控制、系统 API 等)通常由 Rust 后端完成。

因此,前后端之间需要一种稳定、安全的通信机制,这就是 IPC(Inter-Process Communication)。

在 Tauri 2 中,最常见的 IPC 方式包括:

  • invoke:前端主动调用 Rust command
  • 事件系统(Event System):后端主动向前端发送通知

invoke 本质上是 WebView 与 Rust Runtime 之间的异步 RPC bridge。


2. 最小可运行示例

前端调用 Rust Command

import { invoke } from "@tauri-apps/api/core";

async function greet() {
  const result = await invoke("greet", {
    name: "Liz",
  });

  console.log(result);
}

greet();
  • “greet” 是 Rust 中注册的 command 名称
  • 第二个参数会自动序列化并发送给后端