開發桌面應用的新選擇!

什麼是 Tauri?

Tauri 是一個爲所有主流桌面平臺構建小型、快速二進制文件的框架。開發人員可以集成任何編譯成 HTML、 JS 和 CSS 的前端框架來構建他們的用戶界面。應用程序的後端是一個 Rust 二進制文件,具有前端可以與之交互的 API。

在 2021 年 star 排行榜單中,tauri 一年增長了 18k 排名第五,我們就很好奇,Tauri 有什麼優勢呢?

然後我分別用 tauri 和 Electron.JS 打包測試一個 hello world 程序,一起來看下它們的大小。

大小對比

Tauri 構建的桌面程序太小了,遠不是 Electron.JS 可以相比的,因爲它放棄了體積巨大的 Chromium 內核和nodejs,前端使用操作系統的 webview,後端集成了 Rust。Tauri 提供了初始化程序的模板,比如原生 JavaScript, react, svelte.js, vue.js 等等。

從 MOBILE when? 這條 issues 看, Tauri 團隊也正在努力支持 Android and IOS. 這是不是有點小期待呢?

開始嘗試 Tauri

因爲 Tauri 是一個多語言的工具鏈,安裝有點複雜。

我使用的是 macOS 系統

1、 首先要安裝 gcc 編譯器

$ brew install gcc

homebrew 可以先切換清華大學的源, 需要先安裝 homebrew, 下面命令是 homebrew 的國內安裝地址

安裝 homebrew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2、 確保已經安裝 xcode

xcode-select --install

3、安裝 Nodejs 運行環境 和包管理工具 yarn

這一步前端都已經裝了

4、安裝 Rust 編程語言的編譯器 rustc

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

然後就可以使用官方 cli 初始化程序了。

yarn create tauri-app

然後要在項目目錄下初始化

yarn tauri init

這一步驟很慢,我不清楚是否是我沒指定 rust 國內源,知道的小夥伴可以在評論區留言。完成之後執行 yarn start 就跟開發 react 程序一樣,就可以實時熱更新了。

第一次運行這個命令時,Rust 包管理器需要幾分鐘時間下載並構建所有需要的包,後續的構建會快得多,因爲它們是有緩存的。

客戶端開發啓動命令

yarn tauri dev

右鍵也可以審查元素

打包客戶端

yarn tauri build

與 Electron 對比

我們可以通過官方 github Readme 查看與 electron 對比

Comparison between Tauri and Electron

YeHlix

小結

這次嘗試,只是從 web 層,並沒有涉及系統層、 後端,需要學一些 rust 相關的知識。若單純 web 程序打包,使用 tauri 會更小,若熟悉 node.js api 的還是推薦 electron.js ,畢竟 vscode 這麼大的程序也是 electron.js 構建的。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/u7x6cyYKAZ9lSf69C9PiHg