桌面端开发(tauri框架)
1、介绍
Tauri 是一个框架,用于为所有主要桌面平台构建微小、极快的二进制文件。开发人员可以集成任何可编译为 HTML、JS 和 CSS 的前端框架来构建他们的用户界面。应用程序的后端是一个来自 rust 的二进制文件,带有一个前端可以与之交互的 API。
Tauri 应用程序中的用户界面目前tao在 MacOS 和 Windows 上用作窗口处理库,gtk在 Linux 上通过Tauri 团队孵化和维护的WRY,它创建了系统 web 视图(以及其他好东西,如菜单和任务栏)的统一界面,在 macOS 上利用 WebKit,在 Windows 上利用 WebView2,在 Linux 上利用 WebKitGTK。2、支持平台
平台
版本
Windows
7 及以上
macOS
10.15 及以上
Linux
见下文
iOS/iPadOS
即将退出
安卓
即将推出
如需开发Tauri 应用程序,请参阅tauri.app 上的入门指南(
https://tauri.app/v1/guides/getting-started/prerequisites/#setting-up-linux)。
对于运行Tauri 应用程序,我们支持以下配置(这些配置会自动添加为 .deb 的依赖项并与 AppImage 捆绑在一起,因此您的用户无需手动安装它们):
安装了以下软件包的 Debian(Ubuntu 18.04 及更高版本或同等版本): libwebkit2gtk-4.0-37, libgtk-3-0, libayatana-appindicator3-11
Arch 安装了以下软件包: webkit2gtk, gtk3, libayatana-appindicator1
安装了以下软件包的 Fedora(最新 2 个版本): webkit2gtk3, gtk3, libappindicator-gtk31
3、安全功能本地主机免费安全模式的自定义协议动态提前编译 (dAoT) 与功能性 tree-shaking功能地址空间布局随机化在运行时对函数名称和消息进行 OTP 加盐CSP 注入4、Tauri 和 Electron 的比较(官方)
细节
Tauri
Electron
安装程序 Linux
3.1MB
52.1MB
内存消耗 Linux
180MB
462MB
启动时间 Linux
0.39s
0.80s
界面服务提供
WRY
Chromium
后端绑定
Rust
Node.js (ECMAScript)
底层引擎
Rust
V8 (C/C++)
FLOSS(自由/开源软件)
是的
不是
多线程
是的
是的
字节码交付
是的
不是
多窗口
是的
是的
自动更新
是的
是的
自定义应用程序图标
是的
是的
Windows Binary
是的
是的
macOS Binary
是的
是的
Linux Binary
是的
是的
iOS Binary
很快
No
Android Binary
很快
No
桌面托盘
是的
是的
Sidecar Binaries
是的
No
1. Electron 在 Linux 上没有本机自动更新程序,但由 electron-packager 提供
2.打包后程序大小对比(在Macos系统下)
5、安装前提条件-macOS
1、要安装 CLang 和 macOS 开发依赖项。为此,请在终端中运行以下命令:xcode-select --install
2、要在 macOS 上安装 Rust,请打开终端并输入以下命令curl --proto "=https" --tlsv1.2 https://sh.rustup.rs -sSf | sh
在窗口中出现以下提示,代表安装成功Rust is installed now. Great!5、安装前提条件-Windows
1、Microsoft Visual Studio C++ 构建
您将需要安装 Microsoft Visual Studio C++ 构建工具。最简单的方法是安装Build Tools for Visual Studio 2022。当询问要安装哪些工作负载时,请确保选择"C++ 构建工具"和 Windows 10 SDK。
2、Tauri 严重依赖 WebView2 在 Windows 上呈现 Web 内容,因此您必须安装 WebView2。最简单的方法是从Microsoft 网站下载并运行 Evergreen Bootstrapper 。
提示:WebView2 预装在 Windows 11 中
3、安装Rust,地址:
https://www.rust-lang.org/tools/install
6、开始创建tauri应用程序npm create tauri-app
1、输入app的名字,不输入默认为tauri-app,直接回车。
2、输入窗口的标题,默认直接回车:
3、前端UI模板搭配选择:
4、是否添加tauri-apps/api包的依赖。
5、选择vite的模板
6、项目初始化完成,依赖已安装完成。
7、进入tauri-app目录,运行命令:npm run tauri dev
在浏览器中,打开链接地址:http://localhost:5173/
然后桌面端,程序没有打包,因为Rustde 第三方包都集中在crates.io网站上面,因为镜像问题,需要更换成国内镜像。
在 $HOME/.cargo/config 中添加如下内容:# 放到 `$HOME/.cargo/config` 文件中 [source.crates-io] #registry = "https://github.com/rust-lang/crates.io-index" # 替换成你偏好的镜像源 replace-with = "ustc" #replace-with = "sjtu" # 清华大学 [source.tuna] registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git" # 中国科学技术大学 [source.ustc] registry = "git://mirrors.ustc.edu.cn/crates.io-index" # 上海交通大学 [source.sjtu] registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index" # rustcc社区 [source.rustcc] registry = "git://crates.rustcc.cn/crates.io-index"
配置完成,重新运行命令,会看完整个编译结束。
出现桌面端的界面
7、进行桌面打包npm run tauri build
在target目录下面,生成对应桌面端app的文件,原文件大小9M,如下图所示:
想了解更多,可以查看官方文档:
https://tauri.app/v1/guides/
CBA三消息吉林话痨确定回归,广东高炮台复出,马尚恢复很顺利大家好呀,我是北柠,各位小伙伴们要养成先赞后看的习惯哦!吉林队这个赛季的表现算是符合球迷们赛季前的预期,全华班的吉林队短板其实非常明显,那就是他们的内线,现在吉林队中没有一个强力的
差一点,人类就找到了外星人的信号在2019年由澳大利亚望远镜检测到的一段无线信号,是从离太阳最近的恒星发出的,一度引发科学界是不是外星人的猜测。如今研究人员提交的两篇论文做出了最终的结论。寻找外星智慧(SETI)
人类最终能否移居到土卫六上呢?随着人类科学发展的不断进步,在探索宇宙的过程中我们发现了许多特殊的星球。其中有一个星球引起了科学家强烈的兴趣,它就是太阳系中土星的卫星土卫六。顾名思义,土卫六是一颗围绕土星运行的卫
90年前,红军向一老汉借了400大洋,后辈拿欠条讨要,应还多少?引言我国的近代的历史上,人民过着水深火热的生活,封建主义,帝国主义,资本主义三座大山压在人民群众的身上,推翻它们迫在眉睫。历史的长河中,涌现过很多的力量,人们也都进行了不同的尝试,
人类探索宇宙,需要哪些探测器?羲和号模拟图。航天八院供图探索地球以外的世界,或者说空间探测,可以有不同方式一种是长途跋涉,飞到近处一探究竟一种是在地球表面和近地空间部署望远镜等,通过收集可见光X射线等进行分析研
如果一秒飞一光年,以这样的速度,多久能飞到宇宙边缘?虽然宇宙很可能是一个闭合的四维超球体,不论朝哪儿飞最后都会回到原点,但如果我们把宇宙看成一个二维平面呢?假如有一艘可以一秒钟飞行一光年的飞船,我们多久能到达宇宙边缘?废话不多说,上
墨案MIX7阅读器侧握翻页开放系统,阅读体验大提升抛开繁重的工作,每个人在闲暇时间都会有一些喜欢做的事情,有的喜欢旅行,有的喜欢打游戏,而我则选择躺在安静的房间里看书,无论是小说名著亦或技术相关,只要感兴趣的都不会错过,有时甚至会
纠缠中的宇宙量子黑洞虫洞理论中的洞我们的故事从一个多世纪前开始。1915年11月,爱因斯坦提出了广义相对论场方程,推翻了经典的引力概念。广义相对论认为,宇宙中的一切引力现象,不管是苹果从树上掉下来,还是遥
阿联接班人!国产魔兽攻防夺目,一数据联盟登顶,杜锋终于夸他了曾经挨骂四人组,如今终于成功脱逃了,曾繁日在常规赛前四轮比赛中,攻防两端发挥出众,与职业生涯相比,自201617加盟广东男篮效力后,时隔6个赛季终于完成蜕变,这位国产魔兽在易建联的
又一颗满载黑科技的卫星升天,实践二十一号令人侧目据悉,2021年10月24日上午,我国成功发射实践二十一号卫星。这颗卫星是通过长征三号乙运载火箭发射的,它的主要任务是验证清除太空碎片的相关技术。(图1清除太空垃圾示意图,图源网络
荧光染料混合物可保存数据数千年在数字时代,每个字节的数据都需要到达指定位置,最好还能长期保存。但后者在现阶段仍是一个难题,因为数据存储系统保存时间通常不到20年。美国哈佛大学化学家正试图通过一种类似于微小墨水滴