用途:帮助理解 Tauri 的进程间通信(IPC)机制,掌握前端与 Rust 后端之间安全传递消息的方式,并选择合适的安全模式。
主要能力:Tauri 采用异步消息传递实现 IPC,比共享内存或直接函数调用更安全,接收方可拒绝恶意请求,Tauri Core 在执行前校验所有请求。提供两种原语:事件(Events,双向、即发即忘,适合生命周期事件、状态变化、通知)和命令(Commands,前端到 Rust 后端,基于 JSON-RPC 抽象,API 类似 fetch,参数与返回值须可 JSON 序列化)。
使用方式:Rust 端用 #[tauri::command] 定义命令,通过 invoke_handler(tauri::generate_handler![...]) 注册;前端用 @tauri-apps/api/core 的 invoke 调用,用 @tauri-apps/api/event 的 emit/listen 处理事件。异步命令可返回 Result。
两种安全模式:brownfield 为默认模式,零配置、改动小、开发最快,适合迁移现有 Web 应用、原型开发、可信前端;isolation 模式通过沙箱 iframe 中的隔离应用拦截并校验所有 IPC 消息,使用 AES-GCM 加密(每次启动生成新密钥),适合依赖多、安全要求高、处理敏感数据或面向公众的应用。配置在 tauri.conf.json 的 app.security.pattern 中设置 use 为 brownfield 或 isolation,isolation 需指定 dir。
限制:isolation 应用在 Windows 沙箱 iframe 中不加载 ES 模块,脚本须构建时内联,避免使用打包器;加密有轻微性能开销。两种模式都应在 Rust 命令中校验输入、使用类型化参数、限制暴露命令并配置能力权限。资料未提供具体收费、价格或平台信息。