Tauri 是一个工具包,可以帮助开发者为主要桌面平台制作应用程序(如 mac,windows,linux 等)。几乎支持现有的任何前端框架(如 react, vue, vite 等),其核心是使用 Rust 编写的。Rust 负责系统通信,应用构建,上层应用开发只需要专注于 webview 中的网页编写(可以使用自己喜欢的任何前端语言)
Electron 的一个主要好处是可以针对单个浏览器和运行时版本进行开发,而不必处理所有小而耗时的兼容性问题。Tauri 相比于 Electron 放弃了一些兼容性,换来了内存以及应用体积的更小化,在安全方面也做了一些事情。从 Tauri 的架构图来看它实现的是 Webview2 和系统之间的一个胶水层,目前后端是 Rust 实现,将来也可以替换成别的语言。前端现在就可以使用自己喜欢的框架来编写(vue,react 等)。而且从 README platforms 可以看到,Tauri 始于桌面,但并不止步于此。后期可以跨平台到iOS/iPadOS,Android 等。称其为下一代跨端框架似乎也不过分。
按装过程:
以MAC为例,
npm install yarn -g
yarn create tauri-app
[tauri-app] # 项目名称
├─ [node_modules] # 前端依赖
├─ [src] # 前端程序源
├─ [src-tauri] # Tauri 程序源
│ ├─ [icons] # 应用程序图标
│ ├─ [src] # Tauri App 程序源,例如系统菜单,托盘,插件配置等
│ ├─ [target] # 构建的产物会被放入此文件夹中,target 目录的结构取决于是否使用 --target 标志为特定的平台构建
│ ├─ build.rs # Tauri 构建应用
│ ├─ Cargo.lock # 包含了依赖的精确描述信息,类似于 yarn.lock 或 package-lock.json
│ ├─ Cargo.toml # Tauri (Rust) 项目清单
│ └─ tauri.conf.json # 自定义 Tauri 应用程序的配置文件,例如应用程序窗口尺寸,应用名称,权限等
├─ index.html # 项目主界面
├─ package.json # 前端项目清单
├─ tsconfig.json # typescript 配置文件
├─ vite.config.ts # vite 配置文件
├─ yarn.lock # 前端依赖的精确描述信息
└─ ... # 其他启动
yarn dev //WEB方式启动 tauri 项目 较久,第一次要下载不少东东
yarn tauri dev构建应用构建应用
- Windows: .msi
- macOS: .app, .dmg
- Linux: .deb, .appimage
这地方tauri比electron 要容易的多,electron生在安装代码要配置较多
yarn tauri build 