PWA 与 Electron:深入探讨

已发表: 2020-05-20

目录

现在看来,该领域的新技术太多了,我们无法跟踪。 就在最近,我们看到了 Electron.js 的出现,它是我们每天使用的少数流行应用程序背后的强大平台,然后还有 Progressive Web App,它应该是一种新的方式在不牺牲性能的情况下提供一流的、引人入胜的客户体验的网站。

为了最好地帮助您跟踪所有这些新发现的技术,今天在 SimiCart 文章中,我们将以最全面的方式比较 Electron 和 PWA 这两者。

什么是 PWA?

PWA 似乎是最近的热门,因为它是一项由谷歌自己支持的技术,并且受到了微软等大公司的关注,他们雄心勃勃的计划让 Microsoft Store 充满 PWA。 它如此受欢迎的原因是 PWA 本身是多年来来自网络的最好的东西——它的记录不言而喻。

简而言之,Progressive Web Apps 是外观和感觉都像应用程序的网站。 该技术融合了 Web 和原生应用程序的最佳功能,这意味着使用 PWA 的用户可以受益于以前原生应用程序独有的所有功能,例如推送通知、地理位置等。

推特 PWA
Microsoft Store 中的 Twitter 是 PWA

什么是电子?

与 PWA 相比,Electron 在许多方面都相似,因为它也利用 Web 技术(即 HTML、CSS、JavaScript)来最好地应对跨平台挑战。 然而,与 PWA 不同的是,Electron 驱动的应用程序可以制作成功能齐全的桌面应用程序,因为它使用了原生 APIChromium的渲染引擎。 事实上,它的功能非常强大,以至于它通常与原生桌面应用程序没有区别,而且你可能会在不知道它是基于 Electron 的情况下遇到一个——例如,你的一些基本应用程序可能是基于 Electron 的,包括 Skype、Slack、Discord和 Visual Studio 代码。

不和谐电子

Electron 听起来不是更好吗?

好吧,当您这样说时……确实如此; 但不,它比这更微妙。 我们看到基于 Electron 的应用程序数量最近有所放缓是有原因的——这是因为 Electron 已经过时了,尤其是在现在用户对 PWA 提供的全渠道体验的要求比以往任何时候都更高的时候.

在询问经验丰富的 Electron 和 PWA 开发人员的意见时,我们注意到以下模式:

  • 可用性:由于基于 Electron 的应用程序几乎是桌面应用程序的混合版本,并且根本无法安装在移动设备上,因此 PWA 几乎可以在任何具有 PWA 兼容浏览器的设备上使用。
  • 性能:一个基于 Electron 的应用程序,如果做得好,应该感觉和文本应用程序一样快速和轻量——但这不是你能得到最好的性能。 PWA 的一个已知优势是,您可以在首次加载时获得更好的性能(与 Electron 相比),并且在进一步加载时获得近乎瞬时的加载时间,因为所有内容都是动态缓存的,并且大部分 JavaScript 开销可以转移到服务工作者,它是 PWA 不可或缺的一部分。
  • 更新:众所周知,更新(和一般部署)对于任何类型的本地应用程序来说都是一个主要的麻烦,Electron 也不例外。 这可以通过选择 PWA 方法来避免,该方法可以在服务器端进行整个更新过程,从而减轻客户端安装更新过程的负担。
  • 大小:Electron 虽然比典型的桌面应用程序轻,但仍然比 PWA 重得多。 很难找到重量小于 50mb 的 Electron 应用程序,而大多数 PWA 都在 1MB 以下。
  • 安全性:PWA 在安全性方面更好,因为它完全依赖于浏览器端维护的安全连接 (HTTPS),而 Electron 作为一个包装在原生应用容器中的 Web 应用程序,必须自己手动完成所有操作。

为什么 PWA 只会越来越受欢迎

这是事实,Electron一种过时的技术。 尽管它目前被大量桌面应用程序使用,但其中许多已经计划将其现有的基于 Electron 的桌面应用程序转换为 PWA。 是的,您可以将基于 Electron 的应用程序转换为 PWA,尽管与从 PWA 转换为 Electron 的过程相比,它的过程不会那么顺利,但这是可能的。

没有所有缺点的电子

渐进式 Web 应用程序可以说是一种更好的、可能更进化的技术,因为它解决了 Electron 的基本问题——兼容性和易于分发——同时保持功能性和吸引用户体验。 这是因为今天的浏览器正在成为它自己的通用操作系统,具有您可能要求的所有功能,并且作为这种副作用,依赖并在 Web 上运行的技术(如 PWA)只会随着时间的推移而变得更好.

 看更多: 
桌面 PWA - 软件交付的未来
Magento 2 的 PWA

全渠道

在全渠道体验方面,PWA 在所有可以想象的方面都表现出色,因为它专为响应式多设备体验而构建。 根据所涉及的业务类型,PWA 可以成为希望用户体验在所有设备上保持一致的企业的首选,而使用 Electron JS,您必须为不同的平台开发不同的代码库,从而增加开发成本。

何时选择电子

虽然有其优势,但 PWA 不能成为所有商业模式的包罗万象的解决方案,而这正是 Electron 找到其利基的地方。 基于 Electron 的应用程序通常不会遇到通常的浏览器限制,并且可以基于 Node.js 功能自由开发,通过该功能,Electron 可以访问操作系统的所有本机 API。 这意味着基于 Electron 的应用程序始终以用户模式运行,有效地为用户提供安全稳定的运行环境。

根据 Electron 社区的经验,将 Electron 用于仅作为网站的东西绝不是一个好主意。 因此,如果您认为您的应用程序属于少数需要原生应用程序的额外自由和功能的情况,那就选择 Electron; 但在任何其他情况下,PWA 绰绰有余。

换行

Web 及其技术正在快速追赶,再加上大品牌推动 PWA 采用的运动,未来看到更多 PWA 应该不会让您感到惊讶。 然而,这并不是说 Electron 也已濒临死亡,因为该技术仍然非常实用,并且预计会存在相当长的一段时间。 但是,如果您是介于两者之间的人之一,那么 PWA 是一个明智的选择,因为该技术仍然相对较新,并且预计在不久的将来对它的支持会猛增。


阅读更多:
PWA 与 Flutter:详细比较

您需要了解的有关渐进式 Web 应用程序的所有信息

渐进式 Web 应用程序:12 个来自真实品牌的示例,为您提供灵感

Magento PWA Studio:与 Vue Storefront 的详细比较