经过 9 个月的 Beta 版和 4 个月的候选版本,Tauri 1.0 版现已推出!
什么是 Tauri?
Tauri 是一个应用程序构建工具包,让你可以使用 Web 技术为所有主流桌面操作系统构建软件。核心库已用 Rust 为你编写,而用户界面可以使用几乎任何前端框架编写。它包括一个可选且可进行树形抖动的 JavaScript API,用于舒适的低级系统访问,一个带有代码签名和工件验证的桌面二进制捆绑器,一个安全更新程序,以让你的用户保持最新版本,一个广泛的插件系统,以及对操作系统级集成的支持,例如通知和应用程序托盘。
Tauri 既易于使用,又易于扩展。对于 Rust 编程语言的新手来说,Tauri 提供了一个舒适的学习环境,它会随着你的成长而成长。一旦你安装了 Rust,创建一个第一个应用程序只需运行 create-tauri-app
。但是,如果你更愿意留在 100% Rust 的安全和舒适的环境中,你完全不必使用 Node.js。
查看我们的 快速入门指南,开始使用 Tauri 构建。
Tauri 理念
我们为注重安全、尊重隐私和注重环保的软件工程社区构建了 Tauri。
安全
整个项目已由第三方 水平和垂直审计,并且我们对更新核心采取非常严格的方法。我们希望你确信,主要版本既安全又符合人体工程学。
隐私
Tauri 允许你在没有网络服务器的情况下构建“本地优先”应用程序,这样你的用户不必与大型科技公司共享他们的数据。使用本地数据库和基于 Rust 的加密从未如此简单。
环境
你制作的应用程序精简且高效,这可以减少电力、存储空间和一般自然资源消耗。节省的每一个字节都是一棵树叶,它可以生长。
为了说明这一点,我们收集了一些关于应用程序大小的生态影响的数字。正如你所看到的,即使是大小的微小增加也会对环境产生巨大影响!
应用程序大小 | 单位时间(100Mb/s) | 下载 | 传输 | 总时间(100Mb/s) | 用电量(千瓦时) | 产生的二氧化碳(吨) | 所需树木 🌳 |
---|---|---|---|---|---|---|---|
3 MB | 240 毫秒 | 1,000 | 3 GB | 24 分钟 | 0.3 | 0.18 | 1 |
3 MB | 240 毫秒 | 100,000 | 300 GB | 1.7 天 | 30 | 18 | 108 |
3 MB | 240 毫秒 | 10,000,000 | 30 TB | 167 天 | 3,000 | 1,800 | 10,800 |
200 MB | 16 秒 | 1,000 | 200 GB | 4.45 小时 | 20 | 12 | 72 |
200 MB | 16 秒 | 100,000 | 20 TB | 18.5 天 | 2,000 | 1,200 | 7,200 |
200 MB | 16 秒 | 10,000,000 | 2 PB | 5 年 | 200,000 | 120,000 | 720,000 |
600 MB | 48 秒 | 1,000 | 0.6 TB | 13 小时 | 60 | 36 | 216 |
600 MB | 48 秒 | 100,000 | 60 TB | 54.2 天 | 6,000 | 3,600 | 21,600 |
600 MB | 48 秒 | 10,000,000 | 6 PB | 14.8 年 | 600,000 | 360,000 | 2,160,000 |
传输 1 GB 信息大约需要 0.1 千瓦时,相当于 0.06 千克二氧化碳。(https://www.emergeinteractive.com/insights/detail/does-irresponsible-web-development-contribute-to-global-warming/)
尽管碳吸收能力可能有所不同,但通常认为一棵树每年可以储存约 167 千克二氧化碳,或 6 棵成熟树每年可以储存 1 吨二氧化碳(https://climate.selectra.com/en/news/co2-tree)
社区
我们知道开源软件是促进平等与协作的一种方式,这就是我们 将代码所有权置于 Commons Conservancy 的原因。您可以放心,代码库永远不会被撤回或锁在开放核心付费功能门后。我们相信开放协作和所有人的安全空间。我们有一个开放的工作组,任何有能力的贡献者都可以加入。我们爱你们所有人。❤️
赞誉
以下是一些人们对 Tauri 的评价
“Spacedrive 必须在所有平台上都感觉原生,同时重量轻、启动即用且使用极其快速。在 Tauri 出现之前,这根本不可能实现。”
- Jamie Pine,Spacedrive 创始人
“Tauri 有可能开启新一代桌面软件,这些软件对用户来说感觉原生,但构建起来却像 Web 应用一样简单。”
- 约翰内斯·希克林,Prisma 创始人
“Tauri 有望将互联网上臃肿且占用大量内存的应用程序造成的灾难性负面环境成本降低几个数量级。任何粗略的货币价值估算都可能轻松达到数百亿美元,为我们这个严重未充分利用本地计算和存储资源的现代时代节省成本。”
- 约瑟夫·杰克斯,OSS Capital 创始人/普通合伙人
“凭借其注重安全的设计和低内存占用,Tauri 是我们一直在等待的 Electron 替代品。Tauri 让我们得以构建更安全、性能更高的桌面应用程序,同时使用我们喜爱的相同 Web 技术。感谢团队的出色工作!
P.S.: 迫不及待地期待移动支持!”
- 马丁·克莱因施罗特,Padloc 创始人
反馈
你可以访问我们的代码库,提交错误报告,请求功能或在 GitHub 上加入讨论。人们制作了很多东西,访问 GitHub 上的 awesome-tauri 存储库 是发现和分享的好地方。如果你需要支持或只是想闲逛,你可以 加入我们的 Discord 服务器。
Tauri 是所有编程语言中 GitHub 上排名前 200 的项目之一。
人们喜欢在橙色网站上讨论 Tauri 的优点和缺点
Tauri 在 2021 年版 State of JS 中进入排行榜榜首
大公司的工程师似乎正在关注 Tauri 以用于未来的项目。
接下来是什么?
在 1.0 版本发布后,团队已经将目光投向了 Tauri 的下一步。虽然我们一直在致力于改进我们的文档,但我们也在致力于
- 对 iOS 和 Android 的移动支持
- 备用渲染器
- IPC 增强功能以实现改进的调试
- 运行时插件
- 支持其他语言中的其他绑定
我们也受到社区的启发,了解哪些功能正在被使用,以及哪些新功能将使他们能够开发出更令人惊叹的应用程序。你的反馈对 Tauri 的未来创新至关重要!
感谢
特别感谢所有贡献者,他们自愿抽出宝贵时间让 Tauri 变得出色,以及所有赞助商,他们的慷慨捐赠让 Tauri 成为可能(并资助了我们审计的大部分费用)!
行业巨头的支持对于我们保持正常运转非常有帮助。以下是按字母顺序排列的清单
- Cloudflare 为 OSS 更新程序服务(即将推出)赞助无限的 worker
- DigitalOcean 为运行我们的 bot 和搜索的 droplet 提供补偿
- GitHub 为 CI 提供额外时间
- Netlify 为我们的网站提供托管
- NLNET 通过赠款为 Tauri 开发提供资金支持
- PACKT 将出版我们的书籍
以下是一些我们想明确感谢的杰出贡献者
GitHub 个人资料 | 贡献 | 存储库 |
---|---|---|
@malyn | 修复 http 流 | wry |
@wravery | windows-rs 支持,webview2-rs | tao , wry |
@liushuyu | 向 webkit2gtk 添加标头功能 | wry |
@emirror-de | 系统托盘支持 | tao |
@lorenzolewis | tauri.app 更新 | tauri-docs |
@probablykasper | 支持更多加速器,重组文档 | tao , tauri-docs |
@grbd | 添加了一个示例,将 tauri 用作 C++ DLL | tauri |
@youngsing | 添加 macOS 活力 | tauri-plugin-vibrancy |
@lemarier | 更新程序、菜单、系统托盘、iOS、剪贴板 API、字节流和 ++ | wry , tao , tauri |
@JonasKruckenberg | Tauri 插件升级和文档全面修改 | tauri-plugin-* , tauri-docs |
@ImmaZoni | macOS 和 Windows 的代码签名指南 | tauri-docs |
@chippers | 隔离模式、shell 范围、编译时代码生成和若干其他安全功能 | tauri |
@fabianlars | 社区支持、AppImage 修复、代码审查 | 所有存储库,主要是 tauri 、tauri-docs |
@amrbashir | TAO 和 WRY 功能和修复,总体 OS 大师 | tao , wry |
@wusyong | TAO 和 WRY 创始人兼研究员 | tao , wry |
@nklayman | 自定义协议 | tauri |
我们想通过强调来自少数 Tauri 核心贡献者的评论来总结
Amr Bashir
你最期待什么功能?
我们为窗口提供的自定义,但那是因为这是我主要从事的工作。我还很期待 Tauri 将如何改变一些人的思维方式,并帮助他们默认构建安全应用。
你对 Tauri 最自豪的时刻/贡献是什么?
大概是我用 3 行代码替换了大约 20 行代码的时候。我写了这两段代码,所以感觉很特别,因为这表明我作为一名开发人员成长了多少。
Chip Reed
你最期待什么功能?
安装 CLI 时无需使用 --locked
。
你对 Tauri 最自豪的时刻/贡献是什么?
构建隔离模式
Didrik Nordström
你最期待什么功能?
文件拖放。
你对 Tauri 最自豪的时刻/贡献是什么?
质量/稳定性:追踪并修复段错误:https://github.com/h4llow3En/mac-notification-sys/pull/40
Fabian-Lars
你最期待什么功能?
“全部”算一个有效的答案吗?
你对 Tauri 最自豪的时刻/贡献是什么?
嗯,大概是我被要求加入团队的时候。一次又一次地修复 AppImages 是紧随其后的……
Jonas Kruckenberg
你最期待什么功能?
自动更新程序非常棒,但插件对我来说非常珍贵,绝对是 Tauri 最有前途的功能!
你对 Tauri 最自豪的时刻/贡献是什么?
管理 tauri-awesome 仓库。看到很多陌生人使用并为你的工作构建很酷的东西。这是一种非常棒的感觉。
Kasper Henningsen
是什么启发你加入 Tauri 的?
我制作了一些 Tauri 应用,只是发现了一些我想要实现的功能/改进。
Laegel
你最期待什么功能?
这可能听起来很傻,但我喜欢自定义东西,所以用我们的窗口外观制作几乎任何东西的可能性都很棒。
你对 Tauri 最自豪的时刻/贡献是什么?
创建我们今天所知的 Tauri 文档的基础,并尝试提供干净且易于理解的文档。
lemarier
你最期待什么功能?
几乎所有内容,将 Tauri 从概念验证变成稳定版本是一个巨大的里程碑。
你对 Tauri 最自豪的时刻/贡献是什么?
TAO 和所有底层功能(菜单、托盘等)、基准和 iOS 概念验证。
Lorenzo Lewis
你最期待什么功能?
整体资源效率。我们都遇到过这种情况:我们的机器上运行着大量“原生”Web 应用程序,导致机器运行缓慢。我已经准备好迎接那些小捆绑包了!
你对 Tauri 最自豪的时刻/贡献是什么?
整个 tauri.app 网站。当我加入时,它已经非常不错了,但我知道我可以帮助它更上一层楼。即使是为侧边栏选择标题等事情,在经过所有讨论后也可能需要很长时间,但最终,我们所有人齐心协力都会产生最好的结果。
Lucas Nogueira
你最期待什么功能?
插件!
现在发布已经完成,你最期待什么?
移动版和即将推出的 egui 集成启动
Noah Klayman
你最期待什么功能?
自动更新程序。要正确地完成如此复杂的事情真的很难,而 Tauri 做得非常出色。
你对 Tauri 最自豪的时刻/贡献是什么?
让基于自定义协议的资产加载器工作,尤其是在 Windows 上。
secdude
你最期待什么功能?
默认情况下按条件编译功能。
你对 Tauri 最自豪的时刻/贡献是什么?
🤷 v1 我猜
Wu Yu-Wei
你最期待什么功能?
自动更新程序我认为。内置的 OTA 功能感觉非常方便。
你对 Tauri 最自豪的时刻/贡献是什么?
发布 wry crate,具体见此提交:https://github.com/tauri-apps/wry/commit/722e1212a4795f5f81638667cbd31bc53a5d27ed