Hello, Tauri!

B站影视 日本电影 2025-09-25 04:09 2

摘要:开发人员可以集成任何编译为 HTML、JavaScript 和 CSS 的前端框架来构建用户体验,同时在需要时利用 Rust、Swift** 和 Kotlin 等语言实现后端逻辑。

之前用 python 做了两个软件,被吐槽最多的就是软件包体较大,占用了较多的硬盘空间。

主要原因是 python 是一门解释型语言**,在打包应用时,必须把 Python 解释器打包进去。

此外,PyInstaller 之类的打包工具又采用了 保守** 的打包策略,打包时会默认包含所有依赖,导致包体进一步增大。

负负相乘,导致依赖一多 python 应用,没有几百 MB 的体积,无法运行。

尽管有 nuitka 之类的编译型打包工具,但速度极慢,稳定性也欠佳。

Tauri 是一个用于为所有主流桌面(macOS、linux、windows)和移动(iOS、Android)平台构建微小而快速的二进制文件的框架。

开发人员可以集成任何编译为 HTML、JavaScript 和 CSS 的前端框架来构建用户体验,同时在需要时利用 Rust、Swift** 和 Kotlin 等语言实现后端逻辑。

Tauri 有三个主要优势:

构建应用所需的可靠基础使用系统原生 webview(网页视图)带来的更小打包体积使用任何前端技术和多种语言绑定带来的灵活性

官方文档:v2.tauri.app/zh-cn/start…

以 windows 开发环境为例,tauri 需要依赖 WebView2 进行 UI 渲染,该依赖自 Windows 10(从版本 1803 开始)默认安装,正常情况无需再次安装。

创建时,会弹出一步步提示,最后一步选择前端框架,有以下可选项:

| 框架 | 特点说明 | | ---

| Vanilla (无框架) | 最轻量,纯 HTML/CSS/JS,适合有性能要求或自建框架的开发者 | | React | Facebook 维护,组件化强大,生态成熟,适合大型项目 | | Vue | 上手快,语法简洁,模板逻辑分离好,适合中小项目或快速迭代 | | Svelte | 编译时框架,运行时更小更快,开发体验极佳 | | Solid | 新兴高性能框架,类似 React 但无虚拟 DOM,极小体积 | | Next.js | 基于 React 的 SSR 框架,适合你想构建网页/桌面混合项目(实验性) | | Nuxt.js | Vue 的 SSR 框架,同上,支持 SEO / 服务端渲染(实验性) |

编译启动应用:

cargo tauri dev

打包应用:

cargo tauri build

应用体积 8.34MB。

而且打包完之后,它顺便生成了 msi 和 exe 两种形式的安装包,比 pyinstaller 还需要编辑 spec 文件相比,实在太解手。

整体项目结构如下,前后端很清晰。

Project/ # 项目根目录├── README.md # 项目说明文档├── src/ # 前端资源目录│ ├── assets/ # 静态资源(如图片、SVG 等)│ ├── index.html # 前端主页面│ ├── main.js # 前端主 JS 逻辑│ └── styles.css # 前端样式表├── src-tauri/ # Tauri 后端相关目录│ ├── build.rs # Rust 构建脚本│ ├── capabilities/ # Tauri 权限配置│ ├── Cargo.lock # Rust 依赖锁定文件│ ├── Cargo.toml # Rust 依赖与项目信息│ ├── gen/ # 生成代码目录(可能为空或自动生成)│ ├── icons/ # 应用图标资源│ ├── src/ # Rust 源码目录│ ├── target/ # Rust 编译输出目录│ └── tauri.conf.json # Tauri 配置文件

初步体验 Tauri,感觉上手起来难度不高,兼容各种前端框架意味着样式的自由度会很高。后面计划采用这套技术栈开发一些有意思的小工具。

来源:墨码行者

相关推荐