開發桌面應用的新選擇!
什麼是 Tauri?
Tauri 是一個爲所有主流桌面平臺構建小型、快速二進制文件的框架。開發人員可以集成任何編譯成 HTML、 JS 和 CSS 的前端框架來構建他們的用戶界面。應用程序的後端是一個 Rust 二進制文件,具有前端可以與之交互的 API。
在 2021 年 star 排行榜單中,tauri
一年增長了 18k 排名第五,我們就很好奇,Tauri 有什麼優勢呢?
然後我分別用 tauri 和 Electron.JS 打包測試一個 hello world 程序,一起來看下它們的大小。
大小對比
-
Electron.JS
62.5
mb -
Tauri
4.32
mb
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
小結
這次嘗試,只是從 web 層,並沒有涉及系統層、 後端,需要學一些 rust 相關的知識。若單純 web 程序打包,使用 tauri
會更小,若熟悉 node.js api 的還是推薦 electron.js
,畢竟 vscode
這麼大的程序也是 electron.js
構建的。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/u7x6cyYKAZ9lSf69C9PiHg