天天看点

Tauri为多平台部署构建优化、安全且独立于前端的程序框架

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的Tauri专为多平台部署构建优化、安全且独立于前端的应用程序框架。
Tauri为多平台部署构建优化、安全且独立于前端的程序框架

Tauri 是一个框架,用于为所有主要桌面平台构建微小、极快的二进制文件。开发人员可以集成任何可编译为 HTML、JS 和 CSS 的前端框架来构建他们的用户界面。应用程序的后端是一个来自 rust 的二进制文件,带有一个前端可以与之交互的 API。

安全功能

  • 安全模式的自定义协议
  • 动态提前编译 (dAoT) 与功能性 tree-shaking
  • 功能地址空间布局随机化
  • 在运行时对函数名称和消息进行 OTP
  • CSP 注入

开始使用

1.Microsoft Visual Studio C++ 构建

您将需要安装 Microsoft Visual Studio C++ 构建工具。

Tauri 严重依赖 WebView2 在 Windows 上呈现 Web 内容,因此您必须安装 WebView2。

macOS

您将需要安装 CLang 和 macOS 开发依赖项。为此,请在终端中运行以下命令:

xcode-select --install           

要在 macOS 上安装 Rust,请打开终端并输入以下命令:

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh           

该命令会下载一个脚本并开始安装该rustup工具,该工具会安装最新的稳定版 Rust。系统可能会提示您输入密码。如果安装成功,将出现以下命令行:

Rust is installed now. Great!           

确保重新启动终端以使更改生效。

Linux

您将需要安装几个系统依赖项,例如 C 编译器和webkit2gtk. 以下是一些流行发行版的命令:

sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
    build-essential \
    curl \
    wget \
    libssl-dev \
    libgtk-3-dev \
    libayatana-appindicator3-dev \
    librsvg2-dev           

要在 Linux 上安装 Rust,请打开终端并输入以下命令:

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh           

该命令会下载一个脚本并开始安装该rustup工具,该工具会安装最新的稳定版 Rust。系统可能会提示您输入密码。如果安装成功,将出现以下行:

Rust is installed now. Great!建桌面应用程           

2.快速开始

HTML、CSS 和 JavaScript

Tauri 是一个使用任何前端框架和 Rust 核心构建桌面应用程序的框架。每个应用程序由两部分组成:

  1. 创建窗口并向这些窗口公开本机功能的 Rust 二进制文件
  2. 您选择的在窗口内生成用户界面的前端

构建新项目的最简单方法是create-tauri-app实用程序。它为普通的 HTML/CSS/JavaScript 和许多前端框架(如 React、Svelte 和 Yew)提供了自以为是的模板。

sh <(curl https://create.tauri.app/sh)           

这是我们将要构建的内容的预览:

Tauri为多平台部署构建优化、安全且独立于前端的程序框架

我们将使用 HTML 文件创建一个非常小的 UI。不过,为了保持整洁,让我们为它创建一个单独的文件夹:

mkdir ui           

接下来,在该文件夹中创建一个index.html包含以下内容的文件:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <h1>Welcome from Tauri!</h1>
  </body>
</html>           

我们将在本指南中保持 UI 最小化,但您可以随意尝试更多内容或通过 CSS 添加样式。

应用程序调试

有了 Tauri 中的所有移动部件,您可能会遇到需要调试的问题。打印错误详细信息的位置有很多,并且 Tauri 包含一些工具,可以使调试过程更加直接。

Rust

查找错误的第一个地方是 Rust 控制台。这是在您运行的终端中,例如tauri dev. 您可以使用以下代码从 Rust 文件中将某些内容打印到该控制台:

println!("Message from Rust: {}", msg);           

有时你的 Rust 代码可能有错误,Rust 编译器可以为你提供大量信息。例如,如果tauri dev崩溃,您可以在 Linux 和 macOS 上像这样重新运行它:

RUST_BACKTRACE=1 tauri dev           

或在 Windows 上像这样:

set RUST_BACKTRACE=1
tauri dev           

此命令为您提供细粒度的堆栈跟踪。一般来说,Rust 编译器会为您提供有关问题的详细信息,例如:

error[E0425]: cannot find value `sun` in this scope
  --> src/main.rs:11:5
   |
11 |     sun += i.to_string().parse::<u64>().unwrap();
   |     ^^^ help: a local variable with a similar name exists: `sum`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0425`.           

主要语言

  • 用于 CLI 的 Rust
  • 与 Rust API 的 ECMAScript 绑定,用 typescript 编写
  • Rust 用于绑定,API 的 rust 方面,线束
  • Tauri 后端的 Rust 插件

—END—

开源协议:Apache-2.0

开源地址:https://github.com/tauri-apps/tauri