本文首發於公眾號「Android技術圈」,未經授權嚴禁轉載
前幾天聊 Android 桌面端的時候,留言區有小夥伴說:「現在用 Tauri 做桌面端很爽。」
然後好幾個人跟著回覆:「第一次聽到 Tauri 這個詞,去學習一下。」

既然大家都好奇,那我就先替你們踩踩路。花了點時間把 Tauri 官方文件翻了一遍,整理成這篇入門指南。
一句話:Tauri 是一個用 Rust 建構跨平台應用程式的框架。
你用熟悉的前端技術(React、Vue、Svelte 隨便選)寫介面,用 Rust 寫後端邏輯,打包出來的應用程式可以跑在 Windows、macOS、Linux,甚至 Android 和 iOS 上。
聽起來像 Electron?確實,它們解決的是同一個問題。但 Tauri 的思路完全不同。

Electron 的做法是把整個 Chromium 瀏覽器打包進你的應用程式。所以一個簡單的 Hello World 應用程式,Electron 打包出來至少 100MB 起跳。
Tauri 不打包瀏覽器。它直接呼叫作業系統自帶的 WebView(macOS 用 WebKit,Windows 用 WebView2,Linux 用 WebKitGTK)。結果就是:
一個最小的 Tauri 應用程式,打包後只有 600KB。
你沒看錯,600KB。不是 600MB。
既然都是做桌面端,那就直接比較。

體積:Tauri 應用程式 600KB 起步,Electron 應用程式 100MB 起步。差了 100 多倍。
記憶體佔用:Tauri 用系統原生 WebView,不需要額外的瀏覽器程序。記憶體佔用通常只有 Electron 的一半甚至更少。
安全性:Tauri 基於 Rust,天生記憶體安全。還內建了權限系統,你的前端程式碼不能隨便存取檔案系統或網路,必須在設定裡明確宣告權限。
前端自由度:兩者都支援任意前端框架。這一點打平。
後端語言:Electron 用 Node.js,Tauri 用 Rust。Rust 效能更強,但學習曲線也更陡。
平台支援:Electron 支援 Windows、macOS、Linux。Tauri 2.0 在此基礎上還加了 Android 和 iOS。
說實話,Tauri 在大部分維度上都贏了。唯一的「缺點」是需要學 Rust。但後面我會告訴你,其實入門沒那麼難。
Tauri 不只是個「殼」。它提供了 30+ 官方外掛,涵蓋了桌面應用程式開發的幾乎所有常見需求:
系統整合類:
資料儲存類:
網路通訊類:
應用程式管理類:

除了官方外掛,社群還貢獻了 70+ 第三方外掛。基本上你能想到的桌面端功能,都有現成的方案。
舉幾個用 Tauri 建構的知名應用程式:
這可能是大部分前端同學最關心的問題。
答案是:看你要做什麼。
如果你只是做一個簡單的桌面應用程式——把網頁包成桌面端,加個系統匣,加個本機儲存——那你幾乎不需要寫 Rust。Tauri 的官方外掛已經幫你封裝好了,前端直接呼叫 JavaScript API 就行。
<div><div><div></div><span>bash</span></div><div><div> <span>體驗 AI 程式碼助理</span></div><div> <span>程式碼解讀</span></div><div>複製程式碼</div></div></div>```
<span>// 前端直接呼叫 Tauri 的檔案系統外掛</span>
<span>import { readTextFile } from <span>'@tauri-apps/plugin-fs'</span>;</span>
<span></span>
<span>const content = await readTextFile(<span>'config.json'</span>);</span>
但如果你需要做一些重度後端邏輯——比如影像處理、大檔案操作、複雜的系統呼叫——那你需要用 Rust 寫 Command,透過 Tauri 的 IPC 機制讓前端呼叫:
<div><div><div></div><span>bash</span></div><div><div> <span>體驗 AI 程式碼助理</span></div><div> <span>程式碼解讀</span></div><div>複製程式碼</div></div></div>```
<span>// Rust 端定義 Command</span>
<span><span>#[tauri::command]</span></span>
<span>fn greet(name: &str) -> String {</span>
<span> format!(<span>"Hello, {}!"</span>, name)</span>
<span>}</span>
<div><div><div></div><span>bash</span></div><div><div> <span>體驗 AI 程式碼助理</span></div><div> <span>程式碼解讀</span></div><div>複製程式碼</div></div></div>```
<span>// 前端呼叫</span>
<span>import { invoke } from <span>'@tauri-apps/api/core'</span>;</span>
<span></span>
<span>const result = await invoke(<span>'greet'</span>, { name: <span>'Tauri'</span> });</span>
所以 Rust 不是門檻,而是天花板。你可以從零 Rust 開始用 Tauri,等需要的時候再學。
學習路線:怎麼開始
---------
很多人聽到 Tauri 的第一反應是「好是好,但學起來難吧?」
其實還好。我整理了一條從零開始的學習路線:

**第一步:環境準備**
不管你用什麼系統,都需要安裝 Rust。macOS 還需要 Xcode,Windows 需要 Visual Studio Build Tools,Linux 需要一些系統相依套件。
具體步驟官方文件寫得很清楚,跟著走就行:v2.tauri.app/start/prerequisites
**第二步:建立第一個專案**
一行命令搞定:
<div><div><div></div><span>bash</span></div><div><div> <span>體驗 AI 程式碼助理</span></div><div> <span>程式碼解讀</span></div><div>複製程式碼</div></div></div>```
<span>npm create tauri-app@latest</span>
它會讓你選前端框架(React / Vue / Svelte / Vanilla 等),然後自動生成專案範本。
第三步:理解專案結構
Tauri 專案分兩部分:
src/ —— 你的前端程式碼,和一般 Web 專案一樣src-tauri/ —— Rust 後端程式碼和 Tauri 設定先把前端跑起來,確認介面 OK,再去看 Rust 那邊。
第四步:學會用外掛
不要從零寫 Rust。先用官方外掛解決問題。檔案讀寫、HTTP 請求、本機儲存、系統通知……這些都有現成的外掛,npm install 一下就能用。
第五步:按需學 Rust
等你發現外掛滿足不了需求的時候,再去學 Rust 基礎。重點學所有權(Ownership)、生命週期(Lifetime)、錯誤處理(Result/Option)這幾個核心概念就夠起步了。
推薦資源:
說了這麼多,Tauri 適合什麼人?
前端開發者想做桌面端:這是 Tauri 最核心的目標使用者。你不需要學新的 UI 框架,用現有的前端技術棧就能做出專業的桌面應用程式。
獨立開發者做工具類產品:體積小、效能好、跨平台,非常適合做效率工具、編輯器、管理面板這類應用程式。
企業內部工具:比 Electron 省資源,安全性更好,適合做需要長期執行的內部工具。
想學 Rust 的同學:Tauri 是一個很好的 Rust 實戰入口。你可以從前端入手,逐步深入 Rust,比直接啃 Rust 教程有趣得多。
Tauri 不是什麼新概念了,1.0 在 2022 年就發布了。但 2.0 加入行動端支援之後,它的想像空間一下子大了很多。
一個框架,一套程式碼,Desktop + Mobile 全覆蓋。再加上 Rust 的效能和安全性加持,說它是 Electron 最強替代並不誇張。
當然,它也不是完美的。Rust 的學習曲線、WebView 的相容性差異、生態規模和 Electron 相比還有差距——這些都是需要考慮的。
但至少,它給了我們一個新的選擇。
你用過 Tauri 嗎?或者你在用什麼做桌面端開發?歡迎留言區聊聊!
#跨平台開發 #Tauri #Rust #前端開發 #桌面端開發