1、跨平台:tauri目前能跑PC和移动端,支持windows,macos,linux,android,ios。
2、体积小:electron打包非常大,特别是在macos中打包,大得可怕。我在macos中打包了一个electron项目,占600MB,改成tauri,只用了16MB。这差距太大了,macos的硬盘很贵的。
3、兼容性:tauri依靠webview2或者其他类似webview的技术,确实有一些兼容性问题。问题主要出现在linux上,靠WebKitGTK渲染。但是WebKitGTK这个技术,非常的烂,导致tauri在linux会遇到一些问题。我们不能因为一个linux就放弃win,macos,android,ios这么多平台吧,我们把兼容性问题解决掉不就行了吗。我在linux中找到的答案就是electron,这话听起来很矛盾,你不是用tauri吗?扯什么electron呢?其实并不矛盾。你把tauri拆开,它就是一个前端+rust后端。把前端用electron包装起来,rust后端单独使用就是了,我们叫它手动挡的tauri。然后你把这个rust后端打包进electron,随着electron启动和关闭。这样就实现了手动挡的tauri,你在linux里面的渲染也就不会乱了。
4、学习rust的利器:学习rust是很枯燥的,很容易被劝退。你用tauri做一点小功能出来,看得见,摸得着。对于你信心的提升,是有好处的。
5、易用性:利用vue或者react这些海量的组件,你很轻易就能通过tauri把他们打包到windows,macos,linux,android,ios上去运行。特别是在移动端,这完全就是突破。
6、高性能:如果想提高tauri的性能,太简单了。把所有的业务全部放到rust代码中,前端只负责渲染。这样的话,你的tauri性能是可以和原生程序相比的,因为rust的关系,也有机率超过原生。
作者用tauri做了电子表格工具hpctb的macos版本,win和linux用的是electron。两个框架是同一套代码,只是部分参数改一下格式。做好其中一套,换另外一套,所需要的时间仅仅是半天。再次申明,作者不是高手,只是个半入门rust的人。