一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

[Rust]Tauri開(kāi)發(fā)簡(jiǎn)介:1.創(chuàng)建和運(yùn)行第一個(gè)app

 godxiasad 2024-10-17 發(fā)布于北京

我好像還是一個(gè)技術(shù)博主……

Tauri開(kāi)發(fā)簡(jiǎn)介:(讀音:踹你

1.創(chuàng)建和運(yùn)行第一個(gè)app

桌面app與web app之間的界限越來(lái)越模糊,以前可能說(shuō)基于web編寫(xiě)的app性能不好,但是現(xiàn)在我們來(lái)看,不管釘釘還是vscode,都是采用了Electron框架,以web模式開(kāi)發(fā)出來(lái)的。
提到Electron相信許多程序員都不陌生,它是使用JavaScript,HTML和CSS構(gòu)建跨平臺(tái)的桌面應(yīng)用程序,可以打包為Mac、Windows、Linux系統(tǒng)下的應(yīng)用。
你要說(shuō)釘釘?shù)氖褂媒o人感覺(jué)老是滿半拍,例如要點(diǎn)擊讀取信息的時(shí)候,會(huì)有很明顯的加載延遲(不但要讀取數(shù)據(jù),還要讀取和編譯html\js\css等資源),但是看vscode,就發(fā)現(xiàn)大部分情況下,已經(jīng)與傳統(tǒng)桌面的GUI開(kāi)發(fā)框架相差無(wú)幾了……

Visual Studio Code(簡(jiǎn)稱(chēng)“VS Code” )是Microsoft在2015年4月30日Build開(kāi)發(fā)者大會(huì)上正式宣布一個(gè)運(yùn)行于 Mac OS X、Windows和 Linux 之上的,針對(duì)于編寫(xiě)現(xiàn)代Web和云應(yīng)用的跨平臺(tái)源代碼編輯器, 可在桌面上運(yùn)行,并且可用于Windows,macOS和Linux。

Electron雖然好用,但是卻有兩大致命的缺點(diǎn):性能不高,內(nèi)存消耗過(guò)大;包太大。特別是因發(fā)布的結(jié)果體積龐大這一點(diǎn)而飽受詬病,所以業(yè)界也一直在找一種輕便性能更好的框架來(lái)對(duì)他進(jìn)行補(bǔ)充或者替代,于是Tauri 應(yīng)運(yùn)而生,它與Electron相比,更加輕量、性能更好,提供了一種更現(xiàn)代、更安全且資源效率更高的方法來(lái)構(gòu)建跨平臺(tái)桌面應(yīng)用。
所以正好趁著Tauri發(fā)布了2.0,今天給大家簡(jiǎn)單介紹這個(gè)(四不像)神器……
首先我們先對(duì)Electron和Tauri二者進(jìn)行一下對(duì)比,就會(huì)發(fā)現(xiàn)一些指標(biāo)差距還是相當(dāng)?shù)拿黠@:

可以看見(jiàn),除了編譯結(jié)果的大小、性能外,最大的區(qū)別就是兩個(gè),一個(gè)是Tauri支持字節(jié)碼傳遞(bytecode delivery),及將字節(jié)碼傳輸或交付給目標(biāo)環(huán)境的過(guò)程,這樣前后臺(tái)之間的數(shù)據(jù)交互就省去了很多麻煩,這點(diǎn)后面在說(shuō)。二就是Electron無(wú)法獲得 FLOSS(自由/開(kāi)源軟件) 許可的,這樣也給一些商用軟件或者想開(kāi)源的軟件帶來(lái)一些麻煩。
當(dāng)然,進(jìn)行架構(gòu)選項(xiàng)是系統(tǒng)架構(gòu)師的基本功,說(shuō)了優(yōu)點(diǎn),自然也說(shuō)說(shuō)缺點(diǎn),Tauri也有自己的一些缺點(diǎn),如下:
1.Tauri調(diào)用的是系統(tǒng)內(nèi)置的webview,WebView是WebKit框架中的核心視圖類(lèi),用于管理WebFrame和WebFrameView類(lèi)之間的交互。實(shí)際上你可以把這個(gè)東西看成是系統(tǒng)內(nèi)置的一個(gè)瀏覽器對(duì)象。
反之,Electorn內(nèi)嵌了一個(gè)Chromium ,這樣可以最大化的避免不同系統(tǒng)帶來(lái)的問(wèn)題,如果遇上了內(nèi)核bug,也可以通過(guò)升級(jí)內(nèi)嵌的Chromium 來(lái)解決。
    • 首先WebView這個(gè)玩意兒比較新,雖然在新的windows、linux、macos、ios、android的新一代系統(tǒng)里面都自帶了,但是如果遇上了老系統(tǒng),例如windows 7 那么就涼涼了。

    • 其次不同的系統(tǒng)的WebView在某些地方也有一些細(xì)微的差別,例如你開(kāi)發(fā)的系統(tǒng)在windows上沒(méi)問(wèn)題,放MACOS上,樣式就出錯(cuò),就是因?yàn)椴煌到y(tǒng)的WebView版本可能有些差別導(dǎo)致的。

    • 第三,WebView自己也有可能遇上bug,如果真遇上了,就別想自己能換個(gè)版本啥的來(lái)進(jìn)行修正了。

2. Tauri后臺(tái)默認(rèn)使用Rust進(jìn)行開(kāi)發(fā),而不像Electorn后臺(tái)使用Node.js,可以使用JS/TS一門(mén)語(yǔ)言包打天下,會(huì)導(dǎo)致編寫(xiě)Tauri有更高的技術(shù)復(fù)雜度(招人難)

3.Tauri比較新,所以支持和社區(qū)都不如Electorn成熟,也沒(méi)有很成功的案例。

如果你覺(jué)得這三個(gè)缺點(diǎn)不會(huì)對(duì)你的項(xiàng)目產(chǎn)生啥影響,那就沒(méi)問(wèn)題了,可以直接上手了。
下面我將用幾節(jié)的時(shí)間,來(lái)簡(jiǎn)介一下Tauri的開(kāi)發(fā)模式,因?yàn)槲r神我是一個(gè)前端盲,所以我這里全程使用Rust模式,前端僅用HTML白板頁(yè)面和最簡(jiǎn)單的js來(lái)進(jìn)行簡(jiǎn)單說(shuō)明,前端的專(zhuān)家同學(xué)們不要在意這些細(xì)節(jié)。

安裝Rust(略)

如果是windows直接去Rust官網(wǎng)上下載安裝包即可,如果是linux/macos,則敲一個(gè)命令就可以了,注意,好技術(shù)不如有個(gè)好網(wǎng)絡(luò),得有網(wǎng)絡(luò)的情況下搞定:
rust的中文官網(wǎng)下載網(wǎng)址:

https://www./zh-CN/learn/get-started

安裝Rust下面的Tauri工具鏈

我這里已經(jīng)假定你已經(jīng)安裝好了Rust環(huán)境……

通過(guò)cargo 管理工具來(lái)安裝Rust的Tauri工具鏈create-tauri-app,在有網(wǎng)絡(luò)的情況下,輸入如下命令即可:
cargo install create-tauri-app --locked
create-tauri-app是一個(gè)Rust編寫(xiě)的用于創(chuàng)建Tauri工程結(jié)構(gòu)的工具,他可以幫你生成Tauri的工程代碼框架,是一個(gè)很好用的腳手架(當(dāng)然你也可以不用,手動(dòng)去建設(shè)這些東西)。

創(chuàng)建Tauri工程

進(jìn)入到你需要?jiǎng)?chuàng)建工程的目錄下面,輸入如下命令:
cargo create-tauri-app
然后工具會(huì)問(wèn)你幾個(gè)問(wèn)題,你可以輸入需要的基本信息(當(dāng)然默認(rèn)也行):

  1. 你的工程想叫啥名字?

  2. 你工程的唯一標(biāo)識(shí)符?

  3. 你選擇那種語(yǔ)言來(lái)進(jìn)行開(kāi)發(fā)?

  4. 你想選擇那種UI模板來(lái)進(jìn)行開(kāi)發(fā)?

我這里全部默認(rèn),然后得到了如下這樣一個(gè)工程目錄:

工程結(jié)構(gòu)

src 目錄

這個(gè)目錄下面是js/html/css所在的UI目錄,可以看成web工程的目錄結(jié)構(gòu)。

src-tauri

這個(gè)目錄是Rust的工程目錄,是cargo結(jié)構(gòu)的,如果在Rust下面做workspace的話,需要在根工程指向到這個(gè)目錄下面。

tauri.conf.json

Tauri的配置文件,我們前面輸入的那些信息都在這里,當(dāng)然,你也可以修改這個(gè)文件:

然后我們就可以直接運(yùn)行了:

cd <工程目錄>
cargo tauri dev
cargo會(huì)從cartes.io上拉所有需要的包,然后在本地編譯,稍微需要有一些時(shí)間,編譯完成之后會(huì)自動(dòng)打開(kāi)和啟動(dòng)app了:

這個(gè)頁(yè)面實(shí)際上就是一個(gè)網(wǎng)頁(yè),我們點(diǎn)擊右鍵就可以看見(jiàn)html的源碼以及可以進(jìn)行前端調(diào)試:

好了,今天到此為止,下一篇我們講一下Tauri的開(kāi)發(fā)模式。

反正你也不學(xué),
既然到這里了,
就是猿糞。
隨便點(diǎn)個(gè)贊表示一下唄

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    夜色福利久久精品福利| 日韩国产亚洲一区二区三区| 99免费人成看国产片| 日本东京热加勒比一区二区| 亚洲色图欧美另类人妻| 91欧美亚洲视频在线| 在线懂色一区二区三区精品| 精品少妇人妻av一区二区蜜桃| 欧美日韩国产福利在线观看| 亚洲中文字幕乱码亚洲| 亚洲妇女黄色三级视频| 亚洲熟女乱色一区二区三区| 男人和女人干逼的视频| 色综合伊人天天综合网中文| 日韩中文字幕狠狠人妻| 色狠狠一区二区三区香蕉蜜桃| 激情综合五月开心久久| 东京热男人的天堂久久综合| 日本加勒比在线观看一区| 精品国产亚洲av久一区二区三区| 亚洲欧洲成人精品香蕉网| 中文字幕高清免费日韩视频| 少妇成人精品一区二区| 国产乱久久亚洲国产精品| 欧美日韩有码一二三区 | 国产欧美日韩一级小黄片| 欧美亚洲美女资源国产| 欧美一区二区口爆吞精| 国产综合欧美日韩在线精品| 特黄大片性高水多欧美一级| 久久国产精品亚州精品毛片| 国产欧美性成人精品午夜| 日本91在线观看视频| 丰满人妻少妇精品一区二区三区| 最新午夜福利视频偷拍| 91人人妻人人爽人人狠狠| 少妇人妻一级片一区二区三区| 99久久国产精品成人观看| 日本精品理论在线观看| 亚洲天堂国产精品久久精品| 国产内射一级一片内射高清视频 |