扫一扫分享
tauri并非前端框架,而是一个rust框架。所以,要使用这个框架,还需要懂一定的rust开发。当然,如果你只需要将纯前端的代码进行打包,完全可以使用这个框架。
Tauri 是一个框架,用于为所有主要桌面平台构建小巧、快速的二进制文件。开发人员可以集成任何可编译为 html、JS 和 css 的前端框架,以构建他们的用户界面。应用程序的后端是一个基于 Rust 的二进制文件,带有一个前端可以与之交互的 api。
Tauri 应用程序的用户界面目前在 macOS 和 Windows 上利用 tao 作为窗口处理库,在 Linux 上通过 Tauri 团队孵化和维护的 WRY 利用 WebKit、Windows上的 WebView2 和 Linux 上的 WebKitGTK 创建一个统一的系统 webview(和其他好东西,如菜单和任务栏)接口。
tauri 具有五个主要组成部分:
Tauri应用程序中的用户界面目前在macOS上使用Cocoa / WebKit,在Linux上使用gtk-webkit2,在Windows上通过Edge使用MSHTML(IE10 / 11)或Webkit。 Tauri基于MIT许可的进行工作,即webview。
Tauri | Electron | |
---|---|---|
MacOS 的包大小 | 0.6 MB | 47.7 MB |
MacOS 的内存消耗 | 13 MB | 34.1 MB |
接口服务提供 | Varies | Chromium |
后台绑定 | Rust | Node.js (ECMAScript) |
底层引擎 | C/C++ | V8 (C/C++) |
自由/开源软件 | Yes | No |
多线程 | Yes | No |
字节码传递 | Yes | No |
可以显示PDF | Yes | No |
多窗口 | Soon | Yes |
GPU 访问 | Yes | Yes |
自动更新 | Soon | Yes (1) |
跨平台 | Yes | Yes |
自定义 APP 图标 | Yes | Yes |
Windows 包 | Yes | Yes |
MacOS 包 | Yes | Yes |
Linux 包 | Yes | Yes |
iOS 包 | Soon | No |
Android 包 | Soon | No |
支持本地 web 服务 | Yes | Yes |
没有本地服务选项 | Yes | No |
桌面文件盒 | Soon | No |
以下为 macOS 为例子, Tauri是一个多语言系统,因此需要大量工具。
$ brew install gcc
使用 brew 下载 gcc 依赖
此框架的运行需要 node 12 以上的环境:
nvm install 12
nvm use 12
使用 nvm 下载 node 12
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
这条命令时需要梯子才能下好的
下载的时候一路回车即可
完成后,关闭终端,打开后查看
grewer@Grewer-2 ~ % rustc --version
rustc 1.42.0 (b8cedc004 2020-03-09)
$ cargo install tauri-bundler --force
此命令的下载也建议使用梯子,不然会比较慢
至此, 此框架的基础环境都已经搭建完成
首先你需要一个 web 项目, 可以是 react-create-app 或者 vue-cli 创建的项目,也可以是任意的 web 项目
在项目中下载 tauri:
yarn add tauri
# 或者
npm install tauri
下载完成后,在当前项目的目录下,使用命令
tauri init
之后, 你的项目下会出现一个目录 src-tauri,再根据你的 web 项目启动时的端口修改文件 src-tauri/tauri.conf.json:
"build": {
"distDir": "../build", //打包后的路径
"devPath": "http://localhost:8080", // 此为 dev 启动时的url
"beforeDevCommand": "",
"beforeBuildCommand": ""
},
现在启动项目:
"dev": "tauri dev",
第一次启动的时候会有点慢,要加载一些东西,后面就快了很多了。
手机预览