CLI

CLI是基于Node.js的,因为它是大多数Web社区开发者最容易使用的技术。
因为我们追踪安全补丁,Tauri使用最新的长期支持版本。
在将来,我们允许您使用Deno来代替Node,如果有必要的话。

用户接口

Tauri应用程序中的第一代用户界面利用了macOS上的Cocoa / WebKit,Linux上的gtk-webkit2和MSHTML(IE10 / 11) 或Windows上通过EdgeHTML / Chakra的Webkit。
Tauri 利用了MIT许可的先前工作,称为webview。 进入网络视图
我们目前正在努力启用Web API,其中许多可能在您的平台上不可用。

src-tauri 文件夹

src-tauri 文件夹既包含您的 Tauri应用程序的配置,也包含任何原生Rust 代码。
当Tauri初始化时,它会自动创建并填充样板代码。
配置存储在 src-tauri/tauri.conf.json 文件中,而 src-tauri/src 文件夹包含原生Rust 代码。

Tauri 组件

Node CLI 会读取您的配置文件,并将所有预备的内容打包成二进制文件,例如配置Tauri API的注入。
它还包含一些有用的命令,例如用于制作图标的 tauri icon 命令,用于搭建应用程序的 tauri init 和用于调试环境的 tauri info 。
Tauri Rust Crate的本身的代码是用于绑定到Webview,创建应用程序窗口并提供本机API (文件读/写,等等)。
打包程序将您的HTML / JS / CSS,原生Rust代码和Tauri Rust Crate结合为美观且易于目标操作系统使用的二进制文件。

为什么使用Rust

Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。
Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。
Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具——包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。
- https://www.rust-lang.org/
Rust对性能,安全性和可用性的结合,使我们选择他作为Tauri的默认绑定。
我们的目的是为开发者和应用使用者提供开箱即用并且保持极致安全与性能的应用体验。
如果您想对Rust进行深入而有趣的研究,看看内部人士Tony Arcieri在他的文章 Rust in 2019.Security, maturity, stability 中是怎么说的。
安全性,成熟度,稳定性。

学习Rust🦀❤️

使用Tauri(大部分) 时,您根本不需要了解Rust,但是与所有事物一样,兔子洞的深度与您愿意陷入的深度一样深。
如果您不熟悉Rust,那么我们建议您首先观看团队成员@tensor上的教程惊人播放列表:

但是,如果您像我们一样,仅看着很棒的人做事还不够。
这就是为什么我们绝对必须建议您立即开始Rustlings
curl -L https://git.io/rustlings | bash
为什么?
因为这是使用Rust进行编码的交互式飞跃,它会迫使您解决编译器错误,从而加深理解。
它会令人上瘾,因此请花几个小时再做吧!
在某些时候,要了解Rust,需要先阅读手册。
一探究竟:

最后,Discord上有几个Rust社区,如果您需要额外的支持,可以随时查看: