You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Tauri 是什么?
Tauri 是一个工具包,可以帮助开发者为主要桌面平台制作应用程序(如 mac,windows,linux 等)。几乎支持现有的任何前端框架(如 react, vue, vite 等),其核心是使用 Rust 编写的。Rust 负责系统通信,应用构建,上层应用开发只需要专注于 webview 中的网页编写(可以使用自己喜欢的任何前端语言)。
安全第一
Asar
Asar 用于将 Electron 应用程序文件连接到一个大文件。为了缓解 Windows 上长路径名问题,稍微加快 require 并隐藏源代码不被粗略检查(Cursory Inspection),可以选择将应用程序打包成 asar 归档文件,而对源代码几乎没有改动。
多语言支持
目前,Tauri 使用 Rust 作为后端 —— 但在不远的将来,其他后端如 Go、Nim、Python、Csharp 等也将成为可能。目前官方维护的是 Rust 与 webview 组织的绑定,因为 API 可以用任何带有 C 语言互操作的语言来实现,所以选择自己喜欢的语言作为后端只是一个 PR 的问题。
开放源代码
如果没有一个社区,这一切都没有任何意义。今天的软件社区是令人惊奇的地方,人们在那里互相帮助,创造出令人敬畏的东西。
Tauri vs Electron
Electron 的一个主要好处是可以针对单个浏览器和运行时版本进行开发,而不必处理所有小而耗时的兼容性问题。Tauri 相比于 Electron 放弃了一些兼容性,换来了内存以及应用体积的更小化,在安全方面也做了一些事情。从 Tauri 的架构图来看它实现的是 Webview2 和系统之间的一个胶水层,目前后端是 Rust 实现,将来也可以替换成别的语言。前端现在就可以使用自己喜欢的框架来编写(vue,react 等)。而且从 README platforms 可以看到,Tauri 始于桌面,但并不止步于此。后期可以跨平台到 iOS/iPadOS,Android 等。称其为下一代跨端框架似乎也不过分。
Tauri 架构
Tauri 是一个多语言通用工具包,其超强的组合性允许工程师制作各种应用程序。它使用 Rust 工具和 Webview 中呈现的 HTML 的组合来构建桌面应用程序。后端使用 Rust 和系统进行交互(如系统信息,系统通知,系统文件等),包装成 Tauri 插件后会暴露出 JS API 供前端使用,通过 Webview 进行消息传递来控制系统。所以不支持的功能,开发人员可以通过编写 Rust 来扩展默认 API。
Tauri 应用程序可以有自定义菜单和托盘类型的界面。它们可以按预期由用户的操作系统进行更新和管理。它们非常小,因为它们使用操作系统的 webview。它们不提供运行时,因为最终的二进制文件是从 Rust 编译的。这使得 Tauri 应用程序的逆向不是一项简单的任务。
tauri-codegen
crate 为上下文、处理程序和命令创建宏。cargo
装配所需的一些特殊功能。tauri.conf.json
并生成配置结构。Tauri 不是什么?
WRY
和TAO
来完成对操作系统进行系统调用的繁重工作。相关阅读
Beta Was this translation helpful? Give feedback.
All reactions