Tauri 2.0 横空出世,支持移动端、桌面端

Tauri 2.0 正式版终于在 2024 年 10 月 2 日正式发布了。这次重大更新不仅带来了令人兴奋的新特性,更是为跨平台应用开发开辟了一条全新的道路。让我们一起来看看这个重量级版本带来了哪些惊喜。

移动端支持:拥抱全平台时代

图片


Tauri 2.0 最引人注目的特性莫过于对 iOS 和 Android 的全面支持。现在,您可以用同一套代码库开发桌面端(Windows、macOS、Linux)和移动端应用,真正实现"一次编写,到处运行"的梦想。这不仅大大提高了开发效率,还为您的应用打开了更广阔的市场。

插件系统升级:灵活性与可扩展性的完美结合

图片


新版本中,Tauri 将大量核心功能转移到了插件中。这意味着您可以根据需求自由选择功能,让应用更加轻量化。同时,插件系统的改进也为社区贡献打开了大门,期待看到更多创新的插件涌现。Tauri 2.0 的插件系统不仅更加灵活,还提供了丰富的官方插件,满足各种开发需求。以下是部分官方插件及其功能:

  • 自动启动 (Autostart): 让您的应用在系统启动时自动运行。

  • 条形码扫描器 (Barcode Scanner): 在移动应用中使用相机扫描二维码和条形码。

  • 生物识别 (Biometric): 在Android和iOS上进行生物识别认证。

  • 剪贴板 (Clipboard): 读取和写入系统剪贴板。

  • 命令行接口 (CLI): 解析命令行参数。

  • 深度链接 (Deep Linking): 将您的Tauri应用设置为特定URL的默认处理程序。

  • 对话框 (Dialog): 用于打开/保存文件和显示消息的原生系统对话框。

  • 文件系统 (File System): 访问文件系统。

  • 全局快捷键 (Global Shortcut): 注册全局快捷键。

  • HTTP客户端: 使用Rust编写的HTTP客户端。

  • 本地主机 (Localhost): 在生产应用中使用本地主机服务器。

  • 日志 (Logging): 可配置的日志记录。

  • NFC: 在Android和iOS上读写NFC标签。

  • 通知 (Notifications): 向用户发送原生通知。

  • 操作系统信息 (OS Information): 读取操作系统信息。

  • 持久化作用域 (Persisted Scope): 在文件系统中持久化运行时作用域更改。

  • 定位器 (Positioner): 将窗口移动到常用位置。

  • 进程 (Process): 访问当前进程。

  • Shell: 使用默认应用程序管理文件和URL,以及生成子进程。

  • 单实例 (Single Instance): 确保Tauri应用同时只运行一个实例。

  • SQL: 提供前端与SQL数据库通信的接口。

  • 存储 (Store): 持久化的键值存储。

  • Stronghold: 加密、安全的数据库。

  • 系统托盘 (System Tray): 系统托盘功能。

  • 更新器 (Updater): Tauri应用的应用内更新。

  • 上传 (Upload): 通过HTTP进行文件上传。

  • WebSocket: 在JavaScript中使用Rust客户端打开WebSocket连接。

  • 窗口自定义 (Window Customization): 自定义窗口外观和行为。

  • 窗口状态 (Window State): 保存窗口大小和位置。

这些插件涵盖了从基础功能到高级特性的广泛范围,让开发者能够根据项目需求灵活选择。通过这种模块化的方式,Tauri不仅保持了核心框架的轻量级,还为开发者提供了强大的扩展能力。无论您是开发一个简单的工具还是复杂的企业级应用,Tauri的插件系统都能满足您的需求。

安全性大幅提升:告别allowlist,迎接新的权限系统

Tauri 2.0 抛弃了旧的 allowlist 系统,引入了更加灵活和强大的权限、作用域和功能系统。这不仅提高了安全性,还让开发者能够更精细地控制应用的权限。值得一提的是,Tauri 还通过了独立的安全审计,让您使用起来更加放心。

性能优化:IPC层重写,更快更强

通过重写进程间通信(IPC)层,Tauri 2.0现在支持原始有效载荷,这意味着在前端和后端之间传输大量数据时,性能得到了显著提升。如果您的应用需要处理大量数据,这个特性绝对不容错过。

开发体验升级:HMR支持更给力

热模块替换(HMR)现在扩展到了移动设备和模拟器。这意味着您可以实时预览应用在不同设备上的表现,大大加速了开发和调试过程。

结语

Tauri 2.0 的正式发布无疑是跨平台开发领域的一个重要里程碑。它不仅延续了 Tauri 一贯的轻量、快速的特点,还通过移动端支持、增强的插件系统和改进的安全机制等特性,为开发者提供了更强大、更灵活的工具。

如果您正在寻找一个能够同时覆盖桌面端和移动端的开发框架,Tauri 2.0绝对值得一试。它不仅能帮您节省时间和资源,还能为您的应用带来卓越的性能和安全性。

参考链接:

Tauri 2.0 Stable Release | Tauri

Tauri 2.0 Release Candidate | Tauri

<think>好的,我现在需要处理用户关于Tauri 2.0支持allowlist的问题,并找到替代方案或解决方法。首先,我得理解用户的问题背景。用户可能在使用Tauri 2.0时遇到了权限配置的问题,特别是allowlist相关的功能,但现在发现这个版本不支持了,所以想知道为什么以及有什么替代方法。 根据提供的引用资料,尤其是引用[2],提到Tauri 2.0的官方插件会遵循主版本,但有些插件可能不够稳定。这可能意味着在2.0版本中,某些功能如allowlist可能被移除或重构。而引用[4]提到文档不全,新手学习难度大,说明用户可能在配置时遇到了困难,特别是allowlist的设置。 接下来,我需要查找Tauri官方文档或更新日志,确认allowlist在2.0中的状态。如果allowlist被弃用,可能被新的权限系统替代。例如,Tauri可能引入了更细粒度的权限控制,或者将功能迁移到插件中。此外,查看社区讨论或GitHub issues可能会有解决方法。 根据现有知识,Tauri的allowlist用于控制哪些API可以被前调用。在2.0版本中,可能改用了不同的配置方式,比如每个插件独立配置权限,或者使用新的安全策略。用户需要检查tauri.conf.json中的配置,可能原来的allowlist字段已经被替换为每个插件的独立配置项。 另外,引用[4]中的代码示例展示了使用@tauri-apps/plugin-process来退出应用,这说明插件可能需要单独引入和配置。因此,解决allowlist的问题可能需要通过安装特定插件并配置其权限,而不是全局的allowlist设置。 总结可能的解决方案:1. 检查官方文档或更新日志,了解allowlist的替代方案;2. 使用新的权限配置方式,可能每个插件单独设置;3. 安装必要的插件并调整配置;4. 参考社区或示例项目中的配置方法。同时,需要提醒用户注意2.0版本尚不稳定,可能存在兼容性问题,建议关注官方更新。</think>### Tauri 2.0 的 Allowlist 替代方案解析 Tauri 2.0 在设计上进行了架构调整,**不再支持传统的全局 `allowlist` 配置**,这一改变主要出于以下原因: 1. **模块化与安全性增强** Tauri 2.0 将核心功能拆分为独立插件(如文件系统、HTTP请求等),每个插件需单独配置权限,避免全局开放导致的安全风险[^2]。例如,文件系统插件的权限需在 `tauri.conf.json` 中明确声明: ```json { "plugins": { "fs": { "readFile": true, "writeFile": ["特定目录"] } } } ``` 2. **替代方案与解决方法** - **插件级权限控制** 通过为每个插件设置独立权限,替代原有 `allowlist`。例如,使用 `@tauri-apps/plugin-process` 控制进程管理功能[^4]: ```javascript import { exit } from '@tauri-apps/plugin-process'; await exit(0); // 需在配置中启用插件权限 ``` - **动态权限申请** 部分高危操作(如系统命令执行)需通过 `invoke('permission_request')` 动态申请权限,提升用户控制权。 - **手动启用必要功能** 若需使用旧版 `allowlist` 包含的API(如 `window` 管理),需手动引入对应插件并配置。 3. **兼容性注意事项** Tauri 2.0 仍处于早期阶段(Alpha/Beta),部分插件可能存在功能缺失或文档不全的问题[^1][^4]。建议通过以下方式应对: - 参考官方示例项目(如跨平台二维码扫描应用的实现[^3]) - 监控插件版本更新日志 - 在 `Cargo.toml` 中锁定插件版本以确保兼容性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiangzhihong8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值