为什么要用tauri开发跨平台桌面

ops/2025/2/6 22:52:59/

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的人。


http://www.ppmy.cn/ops/156275.html

相关文章

说一下JVM管理的常见参数

Java虚拟机&#xff08;JVM&#xff09;有许多常见参数&#xff0c;用于控制其行为和性能。以下是一些常见的JVM参数及其说明&#xff1a; 1. 内存管理参数 -Xms<size> START 设置初始堆内存大小。例如&#xff0c;-Xms512m表示初始堆大小为512MB。 -Xmx<size>…

DeepSeek-R1 论文. Reinforcement Learning 通过强化学习激励大型语言模型的推理能力

论文链接&#xff1a; [2501.12948] DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning 实在太长&#xff0c;自行扔到 Model 里&#xff0c;去翻译去提问吧。 工作原理&#xff1a; 主要技术&#xff0c;就是训练出一些专有用途小模型&…

Linux du 命令详解:查看磁盘使用情况与高级用法 (中英双语)查看某个用户磁盘占用

Linux du 命令详解&#xff1a;查看磁盘使用情况与高级用法 在 Linux 服务器或个人计算机中&#xff0c;了解磁盘使用情况是系统维护的关键任务之一。du&#xff08;Disk Usage&#xff09;命令是 Linux 提供的一个强大工具&#xff0c;可以帮助我们分析目录和文件的磁盘占用情…

RabbitMQ持久化队列配置修改问题

文章目录 1.问题产生2.问题解决1.询问gpt2.独立思考 1.问题产生 我在给一个普通队列去绑定死信交换机和死信队列的时候&#xff0c;发现总是报错x-dead-letter-exchange的属性为none ERROR [PFTID:] [Module:defaultModule] org.springframework.amqp.rabbit.connection.Cach…

JDK长期支持版本(LTS)

https://blogs.oracle.com/java/post/the-arrival-of-java-23 jdk长期支持版本&#xff08;LTS&#xff09;&#xff1a;JDK 8、11、17、21&#xff1a;

图论——最小生成树的扩展应用

最小生成树相关原理 acwing1146.新的开始 假设存在一个“超级发电站” 在每一个矿井修发电站相当于从这个“超级发电站”到各个矿井连一条长度为 v [ i ] v[i] v[i]的边。 这样一来这就是一个最短路的模板题。 #include <iostream> #include <cstring> using na…

短链接项目02---依赖的添加和postman测试

文章目录 1.声明2.对于依赖的引入和处理2.1原有的内容说明2.2添加公共信息2.3dependencies和management区别说明2.4添加spring-boot依赖2.5数据库的相关依赖2.6hutool工具类的依赖添加2.7测试test 的依赖添加 3.core文件的代码3.1目录层级结构3.2启动类3.3testcontroller测试类…

HTML基本语法

什么是HTML? HTML是超文本标记语言&#xff08;HyperText Markup Language&#xff09;的缩写&#xff0c;是一种用于创建网页的标准标记语言。HTML允许网页设计师通过使用标签来描述网页的结构和内容。 W3C标准 W3C&#xff08;World Wide Web Consortium&#xff09;是一…