Tauri 是一个为所有主流桌面平台 (macOS、Linux、Windows) 和移动设备平台 (iOS、Android) 构建轻量级二进制文件的框架。
在 Tauri 应用程序中,开发者可以使用熟悉的 Web 技术栈编写前端页面。
它在操作系统 WebView 中运行,并与主要用 Rust 编写的应用程序核心进行通信
。
也就是说,开发者可以集成任何可编译为 HTML、JavaScript 和 CSS 的前端框架来编写 UI,同时在需要时利用 Rust、Swift 和 Kotlin 等语言来构建后端逻辑。
与因体积庞大而饱受诟病的 Electron 相比,Tauri 更加轻量、性能更好,提供了一种更现代、更安全且资源效率更高的方法来构建跨平台桌面应用。
下面是 Tauri v1 和 Electron 的技术特性对比:
开发团队表示,“
Tauri v2 是支持跨平台开发的一个重大里程碑,开发桌面和移动应用程序从未如此简单
。你可以将现有的桌面程序无缝迁移到移动设备,并获得原生 API 和 Tauri CLI 的出色开发者体验。”
支持移动操作系统无疑是 Tauri v2 最值得期待的新特性。
Tauri v1 实现了
在桌面操作系统中使用单一的 UI 代码库,而现在则扩展到了 iOS 和 Android。
据介绍,Tauri 团队
调查并尝试了不同的移动支持解决方案,最终决定使用两大移动操作系统的原生语言(Swift 和 Kotlin)为 Rust 代码构建界面,并允许开发者使用这些语言编写部分功能。
这意味着开发者可以
复用 Swift 或 Kotlin 应用程序中与系统交互的现有逻辑
,并将其暴露给 Rust 或前端。
团队还介绍称,他们在 2022 年 6 月发布了
Tauri 1.0
,该版本对桌面操作系统市场以及如何构建跨平台应用产生了重大影响。
此后他们花了将近两年的时间优化和改变 Tauri 的架构。
可以看到,从 Tauri v1 到 v2,其 Slogan 也
变得更简洁、聚焦:
“创建轻量、快速、安全的跨平台应用”
。
最后看看
Tauri 2.0 主要新特性和改进:
-
移动支持:添加了对 iOS 和 Android 的支持。
-
多 WebView 支持:支持在应用中使用多个 WebView,通过不稳定特性标志启用。
-
rustls-tls 特性标志:添加了对 rustls TLS backend 的支持。
-
窗口阴影选项:创建 WebView 窗口时添加了设置窗口阴影的选项。
-
IPC 模块:添加了新的 IPC 模块,支持原始数据传输。
-
-
-
-
生物识别:在 Android 和 iOS 上提示用户进行生物识别验证。
-
-
-
深度链接:将 Tauri 应用程序设置为 URL 的默认处理程序。
-
-
-
HTTP 客户端:使用 Rust 编写的 HTTP 客户端。
-
-
-
NFC:在 Android 和 iOS 上读取和写入 NFC 标签。
-
-
-
-
-
-
Shell:访问系统 Shell,使用默认应用程序管理文件和 URL,并生成子进程。
-
单实例:确保 Tauri 应用只有一个实例在运行。
-
SQL:为前端提供了与 SQL 数据库通信的接口。
-
-
-
-
自动更新:为 Tauri 应用程序提供应用内更新。
-
-
WebSocket:使用 Rust 客户端在 JavaScript 中打开 WebSocket 连接。
-
https://tauri.app/blog/tauri-20/
https://mp.weixin.qq.com/s/hgqQjKp48NnLM6tOsI6VRA
https://github.com/tauri-apps/tauri
“小而美”Tauri已支持iOS和Android,你还在用“技术毒瘤”Electron?
Tauri 1.0正式发布,Rust编写的桌面UI框架
Slint 1.0正式发布,Rust编写的原生GUI工具包