Electron vs Tauri 全方位對(duì)比
Electron
Electron 是一個(gè)使用 JavaScript、HTML 和 CSS 等 Web 技術(shù)創(chuàng)建原生應(yīng)用程序的框架。它負(fù)責(zé)處理困難的部分,因此您可以專注于應(yīng)用程序的核心。如果您可以構(gòu)建網(wǎng)站,則可以構(gòu)建桌面應(yīng)用程序。
Tauri
Tauri 是一個(gè)框架,用于為所有主要桌面平臺(tái)構(gòu)建微小、極快的二進(jìn)制文件。開(kāi)發(fā)人員可以集成任何可編譯為 HTML、JS 和 CSS 的前端框架來(lái)構(gòu)建他們的用戶界面。應(yīng)用程序的后端是一個(gè)來(lái)自 rust 的二進(jìn)制文件,帶有一個(gè)前端可以與之交互的 API。
Electron vs Tauri
Electron的安裝包通常都要幾十M,而Tauri只有幾M,在這點(diǎn)上,Tauri完全碾壓Electron。
Tauri打包的應(yīng)用程序是二進(jìn)制的,因此逆向破解不容易,而對(duì)于electron應(yīng)用可以通過(guò)npm命令進(jìn)行加壓縮應(yīng)用程序。
在啟動(dòng)時(shí)間上Tauri相對(duì)也要快一些,這也是很多electron應(yīng)用被人詬病最多的點(diǎn)。
在應(yīng)用性能方面,Electron占用的內(nèi)存更多,特別是在linux上,似乎Electron占用更多的內(nèi)存。
在安全性上,Tauri可以說(shuō)非常安全,它默認(rèn)內(nèi)置了很多安全功能,你可以通過(guò)禁用某些api來(lái)實(shí)現(xiàn)更加安全的應(yīng)用。而對(duì)于Electron來(lái)說(shuō),node api可以完全控制整個(gè)應(yīng)用。
對(duì)于更新來(lái)說(shuō),兩者都提供了自動(dòng)更新的功能,通過(guò)使用electron-updater,electron應(yīng)用可以非常簡(jiǎn)單地從github上獲取二進(jìn)制文件。對(duì)于Tauri來(lái)說(shuō),我們需要自己維護(hù)更新服務(wù)器。
在開(kāi)發(fā)效率上,如果你是前端用戶的話,那么對(duì)于electron應(yīng)用來(lái)說(shuō),你的開(kāi)發(fā)效率會(huì)很高,但是對(duì)于后端用戶來(lái)說(shuō),或者說(shuō)對(duì)于Rust用戶來(lái)說(shuō),tauri開(kāi)發(fā)會(huì)更便捷。
總結(jié)
雖然js的強(qiáng)大有目共睹,曾經(jīng)的h5也曾經(jīng)想要取代移動(dòng)應(yīng)用,雖然現(xiàn)在依然還有很多混生app,但是相對(duì)于原生移動(dòng)應(yīng)用程序來(lái)說(shuō),它還不是主流。
electron等應(yīng)用框架本想讓前端在桌面端也可以大放異彩,但是相對(duì)來(lái)說(shuō),原生應(yīng)用還是占據(jù)主導(dǎo)地位。
其實(shí)不管electron也好,tauri也罷,它們都是在降低開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用上面的難度,但是很多時(shí)候,對(duì)于用戶來(lái)說(shuō),性能和用戶體驗(yàn)遠(yuǎn)比開(kāi)發(fā)者開(kāi)發(fā)體驗(yàn)要重要百倍,千倍。?