已發布·持續改進
Framework · 2022 年發布
Tauri 是一個用 Rust 核心與系統 WebView 打造小巧、安全的桌面與行動應用程式的框架,介面以 Web 技術撰寫。
Tauri 是一個開源框架,它把以 HTML、CSS 和 JavaScript 製作的介面與以 Rust 撰寫的核心結合起來,產生適用於 Windows、macOS、Linux、Android 和 iOS 的應用程式。它的第一個穩定版於 2022 年推出,如今同時支援桌面與行動平台。Tauri 不打包瀏覽器引擎,而是使用作業系統內建的 WebView(Windows 的 WebView2、macOS 的 WKWebView、Linux 的 WebKitGTK 等),因此安裝檔較小,記憶體用量也相對較低。
如果你想運用 Web 開發經驗來打造桌面應用程式,又在意應用程式大小與安全性,Tauri 會是合適的選擇。任何能建置成靜態檔案的前端都能使用,例如 React、Vue、Svelte 或 Angular;而檔案系統存取、系統匣等貼近作業系統的工作,則交由 Rust 命令與官方外掛處理。WebView 中的程式碼只能使用 capability 與 permission 明確授予其視窗的功能,因此應用程式會自然地只開放真正需要的權限。
入門時,先安裝 Rust 與所在平台的 WebView 開發函式庫,接著用 create-tauri-app 建立專案,並以開發模式執行。即使不太熟悉 Rust,也可以從修改範本中的 greet 命令開始。官方文件會依序說明命令、事件、安全模型與發佈,下方的指南也依照相同順序整理重點。
Tauri 使用系統 WebView 而不打包瀏覽器引擎,安裝檔大小與記憶體用量都能維持在較低水準。
視窗管理、檔案存取與繁重運算都在 Rust 中執行,帶來快速且記憶體安全的後端。
透過 capability、permission 與 scope 規定每個視窗可用的命令與路徑,其餘功能預設一律禁止。
一套程式碼即可打造 Windows、macOS、Linux 桌面應用程式,以及 Android 與 iOS 應用程式。
使用 rustup 安裝 Rust。Windows 另外需要 Microsoft C++ Build Tools 與 WebView2,macOS 需要 Xcode Command Line Tools,Linux 則需要 WebKitGTK 等開發函式庫。若使用 Web 前端,也要安裝 Node.js。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shcreate-tauri-app 會依序詢問專案名稱、識別碼、前端語言、套件管理工具與 UI 範本,然後產生專案。
npm create tauri-app@latest安裝相依套件並以開發模式啟動應用程式。第一次執行需要幾分鐘編譯 Rust 相依套件,之後前端的修改會立即生效。
cd tauri-app && npm install && npm run tauri devsrc-tauri/src/lib.rs 中是應用程式的 Rust 核心。加上 #[tauri::command] 的 greet 函式是一個命令,前端可以透過 invoke("greet", { name }) 呼叫它,並透過 generate_handler! 註冊。run 函式負責組裝並啟動應用程式,在桌面端由 main.rs 呼叫。執行 npm run tauri dev 後,應用程式視窗就會開啟。
src-tauri/src/lib.rs
#[tauri::command]
fn greet(name: &str) -> String {
format!("Hello, {name}! You've been greeted from Rust!")
}
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
npm run tauri dev共六章,帶你從安裝一步步認識 Tauri 的核心概念。
在這裡提問、分享經驗,交流關於 Tauri 的看法。
還沒有討論。來發起第一則吧。
0 則留言
登入 · 登入後即可留言。
來留下第一則留言吧。