• 作者:老汪软件技巧
  • 发表时间:2024-10-30 11:02
  • 浏览量:

背景

我们最近决定开发一个开源的桌面端应用程序(先卖个关子,会尽快推出,敬请期待!关注一下不迷路!),并选择了 Tauri 作为技术方案。可能只有少部分人了解过它,感兴趣的朋友们可以一起深入探讨!

Tauri 介绍

官方介绍:创建小型、快速、安全、跨平台应用程序

通俗的理解

Tauri 是一个跨平台的桌面应用程序框架,它使程序员能够熟练的使用 Web 技术(例如:HTML、CSS、JS 以及流程的框架 Vue.js,Svelte,React,SolidJS,Angular,Preact 等),轻松的去创建桌面应用程序。

对于我们这些希望深入桌面应用程序开发的 Web 开发人员来说,Tauri 是一个非常适合的选择,而且不需要面对陡峭的学习曲线。如今,Web 技术已经成为最强大的 UI 技术之一,能够在多个支持 Web 浏览器的平台上无缝运行。使用 Tauri,我们可以完全按照在 Web 上设想的方式来设计 UI,这意味着可以继续使用熟悉的 Web 开发技能,打造出色且用户友好的界面。

在某些情况下,桌面应用程序的性能确实优于 Web 应用程序。选择桌面应用的一个关键原因是,Web 应用通常受限于浏览器内的本机 API,无法像桌面应用那样与操作系统深入交互。(例如,使用 Web 应用时,我们无法在后台访问文件系统或读取剪贴板数据。)而桌面应用则能更好地访问本机 API,甚至可以通过比 JavaScript 更高效的语言来实现性能的提升(例如:Rust)。因此,如果一个桌面框架既能利用灵活的 UI 和庞大的 Web 生态系统,又能提供对本机 API 的全面访问(Web + Native APIs),那将是一个完美的选择。

Tauri 结合了两个主要生态系统,并提供了对本机 API 的访问,让开发体验更加完善。

Tauri 的架构由两个核心组件构成:

是基于 Web 构建的前端是使用 Rust 编程语言开发的后端,称为 Tauri Core。

开发桌面应用用什么工具好__开发桌面应用程序

前端允许我们使用自己擅长的 Web 技术(如 React 和 Vue)创建灵活且富有视觉吸引力的 UI,而 Rust 后端通过进程间通信打开了通向本机 API 的大门。(比如,能够访问剪贴板或进行文件系统操作。)借助 Rust 的高性能,即使在处理计算密集型任务时,我们的应用程序也能高效、平稳地运行。

这就是为什么我们认为 Tauri 是在 Web 技术基础上构建跨平台桌面应用程序的理想选择(技术选型)。

VS ElectronElectron 简介

在此,我们必须提到 Electron,它可能是当今最流行的跨平台框架。从其版本的迭代,Star 的数量都不难看出。Electron 已经凭借成为众多知名应用程序的基础证明了自己的价值。如上图, 进入该网址 可以看到广泛的案例,每一个使用的应用都证明了 Electron 的强大功能和受欢迎程度。开发社区也对 Electron 所取得的成就给予了高度认可。

不过,在讨论任何技术细节之前,我觉得有必要对比一下 Electron 和其他框架,帮助我们更好地判断哪个框架最适合我们的需求,并做出明智的选择。

State of JavaScript 用户数据对比

对比这个事,肯定不能听一家之言,所以还是看看更多的数据,那就先看看 State of JavaScript 调查统计结果。分别从使用度、认知度、关注度、保留度、积极性等方面做了调查统计。

统计数据地址:/zh-Hans/lib…

使用度

认知度