专栏名称: 全栈修仙之路
专注分享 TS、Vue3、前端架构和源码解析等技术干货。
目录
相关文章推荐
河北省发改委  ·  冰雪奇遇“冀”|萌宠大集结!快来吸一口“毛茸 ... ·  13 小时前  
河北省发改委  ·  冰雪奇遇“冀”|萌宠大集结!快来吸一口“毛茸 ... ·  13 小时前  
南京零距离  ·  宠物狗狂叫,救了主人一命! ·  昨天  
南京零距离  ·  宠物狗狂叫,救了主人一命! ·  昨天  
51好读  ›  专栏  ›  全栈修仙之路

Tauri 2.0 终于支持 iOS 和 Android 了!

全栈修仙之路  · 公众号  ·  · 2024-10-12 08:43

正文

最近,在跨平台开发领域备受关注的框架 Tauri 发布了 2.0 版本,我们一起来看看都有哪些值得关注的更新吧。

Tauri 是一个用于构建轻量级、快速二进制文件的框架,支持所有主流的桌面平台(macOS、Linux、Windows)和移动平台(iOS、Android)。开发者可以将任意前端框架(如 HTML、JavaScript 和 CSS)与 Rust、Swift 和 Kotlin 等语言编写的后台逻辑结合起来,创建用户体验出色的应用程序。

Tauri 应用中,前端部分使用我们最熟悉的 Web 前端技术栈,运行在操作系统的 WebView 中,并与主要用 Rust 编写的应用核心进行通信。开发者无需具备 Rust、Swift Kotlin 的编程技能,因为 Tauri 已经提供了丰富的 JavaScript API。

超强 AI 背景移除:在线批量处理,支持 WebGPU 加速,无需登录,可无限次免费使用!

你应该在什么时候使用 Tauri

如果你符合以下任何一项需求,那么 Tauri 可能就是你的最佳选择:

  • 希望拥有一个适用于所有平台的单一 UI 代码库?
  • 希望在不同平台(如 Windows、macOS、Linux、Android、iOS )上尽可能多地接触用户?
  • 是一名前端 Web 开发者并希望编写原生应用?
  • 是一名 Rust 开发者并希望编写外观漂亮、且可以用 Rust 实现的应用?
  • 拥有一个现有的 Web 开发团队并希望以低前期投资扩展到原生应用市场?
  • 拥有一个现有的 Rust 开发团队并希望所有代码都用 Rust 编写?

Tauri 的受欢迎程度

截至写作时, Tauri 在 GitHub 上有约 4878 个 Pull Request 和 3570 个已关闭 Issues ,还有大约 1000 次讨论。我们的 Discord 服务器目前有约 17700 名成员,大家在这里互相支持、提出问题或者讨论 Tauri 相关的开发话题。我们对社区的积极和支持表示由衷的感谢。

我们还维护了一个 Tauri 相关项目、应用、插件和指南的精选列表—— awesome-tauri ,如果你想获得灵感,可以查看这里的内容,并添加自己的项目。

https://github.com/tauri-apps/awesome-tauri?tab=readme-ov-file#applications

Tauri 1.0 2.0 的历程

在 2022 年 6 月,我们发布了 Tauri 1.0 ,极大地影响了桌面操作系统市场以及跨平台应用的构建方式。到了 2022 年底,我们发布了 2.0 的初始 alpha 版本以获得初步反馈,并测试移动交互的定义方式。在接下来的两年中,我们不断地公开调整和优化 Tauri 的架构,最终在今年二月发布了 beta 版本,并与外部安全审计公司合作,检查我们的决策和架构变化。

今年八月,我们发布了 2.0 的候选版本,目的是解决重大 bug 并从实际使用中获得更多反馈。最终,在大量修复和文档改进后,我们在今天正式发布了 Tauri 2.0 的稳定版本。

Tauri 的成功得益于众多贡献者,尤其是 Lucas,多年来他持续不断地提供代码更改。此外,还有 Amr、Fabian-Lars、Tony、Chip、Jason、YuWei、icb、Simon、Oliver Lemasle 以及许多其他贡献者。

下面我们来看看 Tauri 2.0 的主要亮点。

移动端支持

Tauri 2.0 引入了对 iOS 和 Android 的原生支持。这一新增功能大大扩展了 Tauri 的应用场景,使开发者可以使用全新的移动端插件系统,将应用逻辑暴露给 Tauri 前端。这意味着开发者不仅可以在桌面平台上享受 Tauri 带来的便利,还可以在移动平台上无缝重用已有的逻辑代码。

更好的入门体验

Tauri 2.0 新推出了 create-tauri-app 项目,让开发者可以快速从零开始构建一个 Tauri 应用,从而节省时间。

# 可用的命令如下:
sh npm create tauri-app@latest
yarn create tauri-app
pnpm create tauri-app
bun create tauri-app
cargo install create-tauri-app --locked
cargo create-tauri-app

热模块替换( HMR

Tauri 2.0 扩展了热模块替换功能,使其支持移动设备和仿真器,开发者可以在不需重新构建整个应用的情况下立即预览更改。

高级插件系统

Tauri 2.0 的插件系统完全重构,提供更强的扩展性和灵活性。将许多原有功能转移到官方插件中,使社区更容易上手,同时加速新功能的实现。插件系统支持开发者自行编写或复用用 Swift 或 Kotlin 编写的原生代码,并通过注解直接暴露给 Tauri 前端。以下是一些重要插件示例:

新的权限系统

Tauri 2.0 引入了一个全新的权限系统,取代了之前的允许列表系统。新系统使用权限、范围和能力来创建灵活且易于使用的访问控制系统。这不仅覆盖 Tauri 的核心 API,还支持应用和插件开发者实现自己的访问控制。

[[permission]]
identifier = "my-identifier"
description = "This describes the impact and more."
commands.allow = [
    "read_file"
]

[[scope.allow]]
my-scope = "$HOME/*"

[[scope.deny]]
my-scope = "$HOME/secret"

内部通信(IPC)重写

Tauri 2.0 完全重写了内部通信(IPC)层,大大提升了数据传输效率:

  • 原始负载(Raw Payloads) :支持大数据传输,使得前端与后端的通信更加高效。






请到「今天看啥」查看全文