基于Rust開發(fā)的Tauri使用Web前端構建更小、更快、更安全的桌面應用程序(IOS與安卓即將來臨)。1.0穩(wěn)定版正式發(fā)布?。?!比Electron更優(yōu)秀!
Tauri是一個用于為所有主要桌面平臺構建極小、極快二進制文件的框架。 開發(fā)人員可以集成任何可編譯HTML、JS和CSS的前端框架來構建他們的用戶界面及應用。 應用程序后端是一個來自Rust帶有一個前端可以與之交互的API二進制文件。
支持平臺
- Windows 7,8,10
- Linux
- macOS
- iOS (開發(fā)中)
- android (即將來臨)
應用程序包
- 應用圖標
- 構建于MacOS (.app, .dmg)
- 構建于Linux (.deb, AppImage)
- 構建于Windows (.exe, .msi)
- 復制緩沖區(qū)
- 設備通知 (toast)
- 自動更新
- 應用程序簽署
- 無框模式
- 透明模式
- 多窗口模式
- Tray
- deeplink RPC (開發(fā)中)
- 一次性命令 (即將來臨)
安全特色
- 本地主機 ()
- 自定義協(xié)議的安全模式
- 動態(tài)提前編譯 (dAoT) 與功能性 tree-shaking
- 功能地址空間布局隨機化
- 在運行時對函數名稱和消息進行OTP加鹽(OTP salting)
- CSP 注入
實用程序
- 用于為所有平臺創(chuàng)建二進制文件的GH操作
- VS code擴展
- Tauri核心插件
- 命令行自動更新核心依賴項
- 基于Rust的CLI
Tauri 對比 Electron
詳情信息 | Tauri | Electron |
Linux安裝包尺寸 | 3.1 MB | 52.1 MB |
Memory Consumption Linux | 180 MB | 462 MB |
Linux內存消耗 | 0.39s | 0.80s |
界面服務提供 | WRY | Chromium |
后端 | Rust | Node.js (ECMAScript) |
底層引擎 | Rust | V8 (C/C++) |
FLOSS | 是 | 否 |
多線程 | 是 | 是 |
字節(jié)碼交付 | 是 | 否 |
多窗口 | 是 | 是 |
自動更新 | 是 | 是(看以下備注1) |
自定義應用圖標 | 是 | 是 |
Windows Binary | 是 | 是 |
MacOS Binary | 是 | 是 |
Linux Binary | 是 | 是 |
iOS Binary | 快了 | 否 |
Android Binary | 快了 | 否 |
Desktop Tray | 是 | 是 |
Sidecar Binaries | 是 | 否 |
備注
文檔地址:https://github.com/tauri-apps/tauri-docs
測試與調整
- Rust (cargo test) => sourced via inline #[cfg(test)] declarations
- TS (jest) => 通過規(guī)范文件
- Smoke Tests (在合并到最新版本時運行)
- eslint, clippy
CI/CD
通過CI/CD方式開發(fā)最有效,推薦Buddy作為開發(fā)CI/CD:請點擊此處查看使用詳情>>>
項目開源地址:https://github.com/tauri-apps/tauri
官網地址:https://tauri.app