显示器|如何评价 tauri?


显示器|如何评价 tauri?

文章图片


显示器|如何评价 tauri?

编译后的文件大小和程序的内存占用 , 这一点比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?】Tauri真的亮点其实还是丰富了rust的桌面端生态 , 一直以来 , rust的桌面端生态一直没有完善地建立起来 , 比如 , 解决了似乎没有c++ cef3绑定的这个问题 。 但其实对于Tauri的未来 , 也很难说 , 很难从传统Electron来抢用户 , Electron胜在简单易懂 , 对于Electron的目标用户来说 , 猛糙快才是主流 , 对于这部分用户来说 , rust实在太难学了 , 也没有时间去学 。