基于tauri构建全平台应用

可以基于 tauri 开发构建全平台的应用,和 electron 的发布版本动辄百兆不同,tauri 是基于 rust 的,发布版本可以做到几兆大小

tauri 本质上是一个轻量级桌面应用壳,通过前端技术做界面展示,因此 tauri 开发也是需要 node 环境的,但是发布版本的时候不会打包浏览器内核

本地开发需要 node 环境正常,rust 安装通过 https://rust-lang.org/tools/install/ 进行下载安装

项目前端如果是纯静态 html/css/js,也可以不需要 node 环境,通过下载 cargo install tauri-cli,使用 cargo tauri build 进行构建打包应用

主流的前端开发都是基于现代框架(react、vue等),所有 node 环境还是必须的,基于 node 环境的话,就可以不需要手动安装 tauri-cli

下面通过一个例子,来快速熟悉整个构建流程

1、通过 pnpm create tauri-app 新建一个 tauri 项目,全部默认就可以

创建的项目有两部分代码,src 是前端的代码,src-tauri 是应用壳的 tauri 代码

并且在依赖关系这里也可以看到,提供了基于 node 生态的 tauri 开发工具链,负责构建、打包、运行后端的 rust 代码部分

2、通过 pnpm install 安装依赖,这个和 node 项目一致,没什么区别

3、本地开发运行 pnpm run tauri dev,编译生成一个 debug 版本的执行文件,然后将执行文件运行起来

4、编译发布版本 pnpm run tauri build,这个命令会编译 release 版本的执行文件,并且生成 msinsis 两种类型的安装包

5、下面来删除 target 目录,先将前端代码构建出来,然后再使用 cargo 命令进行打包执行文件(需要先手动安装 tauri-cli)

首先通过 pnpm run build 打包生成前端的 dist 目录

tauri.conf.json 配置指示了前端代码目录为 ../dist,由于 build 配置还有前置的 pnpm 命令,因此可以删除其他的 pnpm 命令只保留 frontendDist 配置

接着 cd 到 src-tauri 目录下,再通过原生命令 cargo tauri build 进行打包构建,一样生成了 msinsis 两种类型的安装包

相关推荐
doiito5 小时前
【Agent Harness】Gliding Horse 设计细节 -- 不跟风开发自己的AI Agent
架构·rust·agent
doiito8 小时前
【Agent Harness】Gliding Horse 核心设计理念,不跟风开发自己的AI Agent
ai·rust·架构设计·系统设计·ai agent
花褪残红青杏小17 小时前
Rust图像处理第6节- 均值模糊 & 中值模糊:3×3 邻域的两种经典玩法
rust·webassembly·图形学
子兮曰1 天前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?
前端·后端·rust
星栈1 天前
写 Dioxus Demo 不难,难的是把它写成项目
前端·rust·前端框架
mCell1 天前
【锐评】桌面端技术营销:别拿跑分当工程判断
前端·rust·electron
武子康1 天前
调查研究-201 Rust 里的 dev build 和 release build:为什么同一份代码性能差这么多?
后端·架构·rust
TrisighT1 天前
Electron鸿蒙PC上写日志文件,我被权限和路径坑了两次
electron·harmonyos
doiito1 天前
【Agent Harness】Gliding Horse 的 L2 作战地图:让多 Agent 协作从“摸黑”变成“透明”
ai·rust·架构设计·系统设计·ai agent
星栈2 天前
我用 Rust + Dioxus 做了个全栈跨平台笔记应用:再把新建、编辑和交付补上
前端·rust·前端框架