城里又出现了另一个 Electron 替代品
我们都很熟悉 Electron,以及它自问世以来所衍生出的众多应用程序。然而,现在它已经远离它的鼎盛时期,人们在各种讨论和文章中经常谈到使用它构建的应用程序巨大的二进制大小、重度资源利用等问题。因此,其他框架逐渐开始出现,试图提供一些不同的东西,很多情况下使用更高效的后端编程语言。
不久前,当我在寻找一种更好的使用 Web 技术构建桌面应用程序的替代方案时,我偶然发现了基于 Rust 的 Tauri 框架。它使用 Rust 来处理所有的后端功能和进程间通信,由于我通常不会写很多 Rust 代码,所以我对使用它来处理所有的后端函数调用感到有些紧张。尽管如此,我仍然愿意尝试一下,看看它是否能带来更好的性能和整体开发体验。
我对我第一次使用 Tauri 的结果印象非常深刻……我非常喜欢它的最终效果,甚至写了一篇文章来介绍它!我以为我找到了我一直在寻找的 Electron 替代品,但事实证明,它并不是城里唯一的适合选项!
在我写完上一篇文章之后,我注意到有一个新兴的基于 Go 的框架,它提供了与 Tauri 相同类型的功能……我想再次强调,它使用的是 Go!现在,我并不介意 Rust……一点也不。我已经用它来转换了一些我在 Web 服务器上运行的小脚本,以提高性能,但除了这些脚本之外,我的主要后端和 API 几乎全部使用 Go 编写。我之前决定使用 Tauri 来开发我的最后一个项目,只是因为除了 Fyne(仍然是一个很棒的项目)或者像使用 GTK 绑定这样更深入的东西之外,没有使用 Go 的真正替代品。但现在看来,Go 爱好者们可以庆祝了!
一个适用于 Gopher 的 GUI 框架
这篇文章的重点不在于区分哪个框架比另一个更好,而是要引起人们的注意,开发人员在选择下一个图形项目的框架时有了很棒的选择……
如果你是一个狂热的 Rustacean,就去用 Tauri……但如果你是一个像我一样的硬核 Gopher,你会喜欢使用 Wails。两种语言都可以跨多个平台工作,每个框架都产生了紧凑的最终二进制文件(在磁盘上的大小和资源使用方面也相似)。
我使用 Wails 的经验中,最令人印象深刻的一个方面,就像使用 Go 一样,就是将项目构建为最终的二进制可执行文件的速度非常快!这在很大程度上归功于在构建时传递给 Go 编译器的生产构建标志,尽管 Tauri 使用的 Rust 编译器遵循类似的指令,但是使用 Go 构建类似大小的项目的整体编译时间明显更快。下面的两个截图显示了两个项目目录及其各自的大小,以及构建每个项目所需的执行时间的比较:
相同的项目,不同的框架
Golang(Wails)的构建时间很快
将项目从 Tauri 更改为使用 Go 和 Wails 进行所有后端函数调用后,我能够从 PinePhone 自身定期构建新的项目二进制文件!这非常美妙,因为我现在可以在外出时进行小的更改,并构建一个新的可执行文件在我的 PinePhone 上运行,而无需依赖其他设备进行构建。
总体而言,我使用 Wails 和 Tauri 来开发桌面应用程序的经验非常棒!今天开发人员能够使用前端 Web 框架设计出漂亮的独立桌面应用程序,以及不止一种后端语言框架的强大和灵活性,这真是令人惊叹!
Tauri 以其类型安全、强大的 Rust 驱动框架开始崭露头角。他们继续扩大项目的开发,并且显然有一个不断壮大的社区来支持他们的努力!如果你是一名有经验的 Rust 开发人员,并且想要在 Web UI 中制作桌面应用程序,请务必查看 Tauri 的文档!
在过去的几年里,Google 的 Go 语言已经得到了相当大的增长。它处理并发的能力,即使在大规模环境下也能轻松应对,并且易于学习的曲线使它非常受大型和小型公司的开发人员的青睐。正是出于这些原因,我自己一直在使用 Go 来开发许多服务器应用程序,并且我计划继续这样做!毫不犹豫地说,如果阅读本文的任何人都喜欢在日常编程中使用 Go,并且想要开始创建优雅的全功能桌面应用程序,那么你一定会喜欢使用 Wails。一定要定期查看他们的主页,因为该项目仍在不断发展!The Wails Project | Wails
如果你对这些框架在实际项目中的实现感到好奇,欢迎查看我在GitLab上使用它们开发的一些应用程序。 也请务必关注我,以便获取我将来撰写的与开发新项目和其他有趣内容相关的文章!
译自:https://levelup.gitconnected.com/another-fantastic-electron-alternative-cc3a5ce12462
评论(0)