Tauri
使用 Web 前端构建更小、更快、更安全的桌面应用程序。
Tauri 是一个框架,用于为所有主要桌面平台构建微小、极快的二进制文件。开发人员可以集成任何可编译为 HTML、JS 和 CSS 的前端框架来构建他们的用户界面。应用程序的后端是一个来自 rust 的二进制文件,带有一个前端可以与之交互的 API。
Tauri 应用程序中的用户界面目前tao
在 macOS 和 Windows 上用作窗口处理库,gtk
在 Linux 上通过Tauri 团队孵化和维护的WRY,它创建了系统 web 视图(以及其他好东西,如菜单和任务栏)的统一界面,在 macOS 上利用 WebKit,在 Windows 上利用 WebView2,在 Linux 上利用 WebKitGTK。
要了解有关所有这些部分如何组合在一起的详细信息,请参阅此ARCHITECTURE.md文档。
如果您有兴趣制作 tauri 应用程序,请访问文档网站。本 README 面向有兴趣为核心库做出贡献的人。但是,如果您只想快速了解 tauri
其发展的位置,这里有一个快速的燃点:
Tauri 目前支持以下平台的开发和分发:
平台 | 版本 |
---|---|
Windows | 7 及以上 |
macOS | 10.15 及以上 |
Linux | 见下文 |
iOS/iPadOS(即将推出) | |
安卓(即将推出) |
Linux 支持
如需开发Tauri 应用程序,请参阅tauri.app 上的入门指南。
对于运行Tauri 应用程序,我们支持以下配置(这些配置会自动添加为 .deb 的依赖项并与 AppImage 捆绑在一起,因此您的用户无需手动安装它们):
libwebkit2gtk-4.0-37
, libgtk-3-0
, libayatana-appindicator3-1
^1^webkit2gtk
, gtk3
, libayatana-appindicator
^1^webkit2gtk3
, gtk3
, libappindicator-gtk3
^1^^^appindicator
仅当使用系统托盘时才需要1
Detail | tauri | Electron |
---|---|---|
安装程序大小 Linux | 3.1 MB | 52.1 MB |
内存消耗 Linux | 180 MB | 462 MB |
启动时间 Linux | 0.39s | 0.80s |
接口服务提供者 | WRY | Chromium |
后端绑定 | Rust | Node.js (ECMAScript) |
底层引擎 | Rust | V8 (C/C++) |
FLOSS | 是的 | 不 |
多线程 | 是的 | 是的 |
字节码交付 | 是的 | 不 |
多个窗口 | 是的 | 是的 |
自动更新程序 | 是的 | 是的^1^ |
自定义应用程序图标 | 是的 | 是的 |
Windows 二进制 | 是的 | 是的 |
macOS 二进制 | 是的 | 是的 |
Linux 二进制 | 是的 | 是的 |
iOS 二进制 | 很快 | 不 |
安卓二进制 | 很快 | 不 |
桌面托盘 | 是的 | 是的 |
边车二进制文件 | 是的 | 不 |
Tauri 是一个由许多运动部件组成的系统:
Tauri 内核可以在 Mac、Linux 和 Windows 上开发,但我们鼓励您使用最新的操作系统并为您的操作系统构建工具。
在开始处理某事之前,最好先检查是否存在现有问题。在 Discord 服务器旁停下来并与团队确认它是否有意义或者其他人是否已经在处理它也是一个好主意。
在提出拉取请求之前,请务必阅读贡献指南。
感谢所有为 Tauri 做出贡献的人!
多语言系统中的文档是一个棘手的命题。为此,我们更喜欢在 typescript / javascript 代码中使用 Rust 代码和 JSDoc 的内联文档。我们使用 Docusaurus v2 和 netlify 自动收集并发布它们。这是文档站点的托管存储库:https ://github.com/tauri-apps/tauri-docs
测试所有的东西!我们有许多测试套件,但一直在寻求提高我们的覆盖范围:
cargo test
) => 源自内联 #[cfg(test)]
声明jest
) => 通过规范文件我们建议您阅读本文以更好地了解我们如何运行管道:https ://www.jacobbolda.com/setting-up-ci-and-cd-for-tauri/
Tauri 旨在成为一个可持续发展的集体,基于指导可持续自由和开放软件社区的原则。为此,它已成为Commons Conservancy内的一项计划,您可以通过Open Collective进行财务捐助。
tauri遵循Semantic Versioning 2.0。
代码:(c) 2015 - 2021 - The Commons Conservancy 内的 Tauri 计划。
MIT 或 MIT/Apache 2.0(如适用)。
标志:CC-BY-NC-ND