编译后的文件大小和程序的内存占用,这一点比Electron要好很多,但是官方文档只给出了MacOS上最小情况的比对,不过因为rust的原因,相信在其他平台也会比Electron优秀的支持多线程,Electron基于nodejs所以是单线程的,虽然有Web workder,但又有很多局限,只能用于UI进程,还有线程安全的问题。

想法是好的,不过就那么几个contributors,关注度太低,类似的被废弃的项目太多了,不过也是有前途的,最近很火的deno也有rust的加成,还是值得期待的。

作为Electron的替代方案,这类的框架越来越多,tauri只是其中之一,他们都尝试解决Electron的两个比较明显的的问题:

包太大,因为electron会自动塞入Chromium和nodejs,一个什么也不做的electron项目压缩后也大概要50m。

内存消耗过大,因为Chromium本身就很吃内存,再加上提供操作系统访问能力的nodejs,很可观的内存消耗,对小工具类的项目不友好。

以前只有支持ie的mshtml,这个不表,因为时下,ie已经很难兼容现有的网页前端程序了。微软自研的老edge,衍生的runtime edge-html,但edge已死,有事烧纸,也不表了。

新edge(真chromium),衍生的runtime叫Webview2,这东西和Electron之流用的是一样的chromium内核,只不过微软把它搞进了系统runtime,野心也很大,就是用来解决每个应用都要打包一遍chromium的问题。而且支持到windows 7,Tauri在windows平台用的就是这个,未来我觉得是主流,兼容性根本不是问题了。

tauri看了一下,不再塞入Chromium和nodejs,前端使用操作系统的webview,后端和操作系统集成这块使用rust实现,理论上应该比nodejs要精简高效。

tauri 只有一个 webview,它没有 chromium,但是小程序的 ide 是需要接入 chrome 的控制台的,所以 tauri 这方面是最惨的,解决方案也是很惨的,只能换一个 devtool,或者自己写一个简单的,比如 vconsole。

Tauri真的亮点其实还是丰富了rust的桌面端生态,一直以来,rust的桌面端生态一直没有完善地建立起来,比如,解决了似乎没有c++ cef3绑定的这个问题。但其实对于Tauri的未来,也很难说,很难从传统Electron来抢用户,Electron胜在简单易懂,对于Electron的目标用户来说,猛糙快才是主流,对于这部分用户来说,rust实在太难学了,也没有时间去学。TG:li9047