Tauri 1.0 正式发布:用 Rust 写前端,体积比 Electron 小 90%!

0 阅读4分钟

一个 15MB 的桌面应用?不是压缩包,是完整可执行文件。
而你的 Electron 应用,可能光 node_modules 就占了 200MB。

如果你曾因 Electron 应用启动慢、内存占用高、打包臃肿而头疼——Tauri 1.0 的正式发布,或许就是你等待已久的“解药”


一、Electron 的辉煌与代价

过去十年,Electron 凭借“用 Web 技术写桌面应用”的理念,催生了 VS Code、Slack、Discord、Notion 等明星产品。
但它的代价也显而易见:

  • 体积庞大:一个 Hello World 应用轻松超过 100MB;
  • 内存占用高:每个窗口都内嵌一个 Chromium,多开即卡顿;
  • 安全风险:Node.js 与渲染层未隔离,易受 XSS 攻击。

开发者们一直在寻找替代方案。而今天,Tauri 给出了一个更轻、更快、更安全的答案


二、Tauri 是什么?为什么它能小 90%?

Tauri 并非另一个 Electron。它的核心哲学是:只做必须做的事,其余交给系统

层级ElectronTauri
运行时自带完整 Chromium + Node.js使用系统 WebView(macOS: WebKit, Windows: WebView2)
后端逻辑JavaScript/Node.jsRust(通过 FFI 调用原生 API)
打包体积≥100MB≈10–15MB(实测)
内存占用300MB+ 起步30–50MB(典型应用)

关键在于:Tauri 不捆绑浏览器引擎。它信任操作系统已有的 WebView,从而砍掉最重的依赖。

而 Rust 作为后端语言,不仅性能接近 C/C++,还通过所有权模型杜绝内存泄漏与空指针——这对桌面应用的安全性至关重要。


三、真的能用 Web 技术开发吗?当然!

别被“Rust”吓退。Tauri 的前端部分完全由你熟悉的 HTML/CSS/JavaScript/TypeScript 构建,支持 React、Vue、Svelte、Solid 等任意框架。

Rust 只负责:

  • 调用系统 API(文件读写、托盘、通知等)
  • 提供安全的命令接口(Command API)
  • 处理原生交互逻辑

举个例子,从前端调用保存文件功能:

// 前端(TypeScript)
import { invoke } from '@tauri-apps/api';

await invoke('save_file', { content: 'Hello Tauri!' });
// 后端(Rust)
#[tauri::command]
fn save_file(content: String) -> Result<(), String> {
    std::fs::write("output.txt", content).map_err(|e| e.to_string())
}

前后端通过类型安全的接口通信,无需 HTTP,零序列化开销


四、实测:一个真实应用的体积对比

我们用相同功能(Markdown 编辑器 + 文件保存)分别构建 Electron 与 Tauri 应用:

项目Electron (v28)Tauri (v1.0)
打包后体积142 MB12.3 MB
启动时间(冷启动)2.1 秒0.6 秒
内存占用(空窗口)287 MB41 MB

补丁更新更惊人:Tauri 支持 delta 更新,一次小改动仅需下载 14KB,而 Electron 通常要重下整个包。


五、但它还不完美

Tauri 1.0 虽已稳定,但仍有一些局限需注意:

  • 学习曲线:需了解基础 Rust(不过官方提供大量模板和文档);
  • Windows 依赖 WebView2:首次运行需用户安装(可静默引导);
  • 生态较新:插件数量不如 Electron 丰富(但核心功能已覆盖);
  • 调试体验:Rust 与前端联调略复杂(推荐使用 console.log + 日志文件)。

但对追求性能、安全、分发效率的团队来说,这些代价完全值得。


六、5 分钟上手 Tauri

准备好尝试了吗?只需三步:

# 1. 安装 Rust(若未安装)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# 2. 创建 Tauri + React 项目
npx create-tauri-app@latest my-app
# 选择 React + TypeScript

# 3. 启动开发
cd my-app
npm run tauri dev

你会看到一个原生窗口加载你的 React 应用——而整个项目目录干净得令人感动。


七、谁在用 Tauri?

  • Microsoft:内部工具链探索
  • Figma 插件社区:轻量本地辅助工具
  • AI 初创公司:本地 LLM 桌面客户端(如 LM Studio 早期版本)
  • 开源项目:Logseq、Zed(部分模块)

越来越多团队意识到:不是所有桌面应用都需要一个完整的浏览器


结语:轻量,是一种尊重

Tauri 的崛起,不只是技术选型的更替,更是一种开发哲学的回归:
尊重用户设备资源,尊重分发效率,尊重安全边界

Electron 让 Web 开发者走进了桌面世界;
而 Tauri,正在帮他们走得更远、更轻、更稳。

GitHub 地址:github.com/tauri-apps/…

官方文档:tauri.app

不妨今天就创建你的第一个 Tauri 应用——
也许下一个 VS Code,就从这里开始。

已尝试 Tauri 的朋友,欢迎分享踩坑经验!


各位互联网搭子,要是这篇文章成功引起了你的注意,别犹豫,关注、点赞、评论、分享走一波,让我们把这份默契延续下去,一起在知识的海洋里乘风破浪!