该原生应用程序可能只是一个旧的Web浏览器

Chrome不仅接管了网络,它还接管了本地应用程序。你在Windows、Mac甚至Linux上运行的许多应用程序都是由过时的Chromium组成的,Chromium是构成Google Chrome基础的引擎。

哪些应用程序是基于Chromium构建的?

开发人员可以通过多种方式使用Chromium浏览器引擎构建应用程序。电子是最广为人知的,但许多其他应用程序使用的是CEF,即Chromium Embedded Framework。

在网上聊天吗?Sack是一个使用Electron构建的流行应用程序。做笔记吗?Evernote使用CEF,而Trello使用Electron。在放音乐吗?是的,你猜对了--Spotify使用CEF,亚马逊音乐(Amazon Music)也使用CEF。

你可能会认为微软会回避Chromium,因为毕竟,它创造了Windows。那你就大错特错了。GitHub Desktop、Microsoft Teams、Skype、Visual Studio Code和Yammer都是电子应用程序。即使是Windows10的新Xbox应用程序也是使用Electron构建的,而不是微软自己的UWP(通用Windows平台)。

PC游戏大多使用原生应用程序,但它们的启动器和相关的聊天工具肯定不会。Discorde和Twitch.tv使用的是Electron。战网,德苏拉,史诗游戏发射器,GOG银河,Uplay,甚至Steam都使用CEF。EA的Origin客户端使用Qt WebEngine,它也集成了Chromium代码。

你可以通过浏览维基百科上非常不完整的Electron和CEF应用程序列表来了解有多少应用程序使用Chromium。其中包括CrashPlan等备份应用程序,以及Bitwarden等密码管理器,以及Adobe Creative Cloud等实用程序。

相关:什么是电子应用程序,为什么它们会变得如此普遍?

它类似于Web应用程序(但使用更多的RAM和存储空间)

每个基于Electron或CEF的应用程序都捆绑了一份单独的Chromium部分副本。虽然使用Electron和CEF的应用程序类似于Web浏览器中的Web应用程序,但它们的效率较低,并且占用更多的系统内存。

当你在一个Chrome选项卡中打开Gmail,在另一个Chrome选项卡中打开Facebook时,你的操作系统只需要运行一份Chrome。但是,当您运行两个不同的Electron或CEF应用程序时,您的操作系统需要分别为每个应用程序提供一个单独的Electron或CEF副本。

尤其是,基于电子的应用程序消耗惊人数量的RAM的情况并不少见。同样,因为这些应用程序中的每一个都包括单独的Chromium文件,所以它们会占用系统上的额外空间。

为什么它们过时了,这是一个问题吗?

电子的安全文档解释了为什么它的代码基于过时的Chromium版本:

即使在电子项目创建了新版本之后,构建电子应用程序的开发人员也必须获取该代码,将其集成到他们的电子应用程序中,并发送更新。

然而,这并不像听起来那么可怕。电子公司的文档建议开发人员避免显示不受信任的代码,而主要依赖本地资源或受信任的、安全的远程内容。这就是为什么许多电子应用程序看起来不是网络浏览器的原因。例如,Slake使用Web技术提供聊天界面,但您只要单击一个链接就可以转到Web浏览器。

为什么开发人员要使用Chromium?

开发人员喜欢这些解决方案,因为它们使用的是Web技术,其中大多数人已经很熟悉了。正如Electron在其主页上自豪地吹捧的那样,“如果你能建一个网站,你就能建一个桌面应用程序。”

然而,它们比简单的网络应用程序更强大。电子应用程序可以访问您的文件系统和其他本地系统资源。许多CEF应用程序都是嵌入Chromium浏览器的原生应用程序。例如,Steam嵌入了一个浏览器来显示商店和社区界面。

电子应用程序也是跨平台的,就像Chromium一样。您可以在Windows、Mac和Linux以及Web上运行像Slack这样的应用程序。如果开发人员依赖Microsoft Edge或Apple Safari技术,就无法制作跨平台的应用程序。开发人员希望创建一次应用程序,然后在任何地方运行它。与为每个平台创建本机应用程序相比,这节省了大量时间和资源。

这些基于铬的解决方案在许多方面都比以前的解决方案有了改进。在采用CEF之前,Steam Embedded Internet Explorer。Windows上的许多应用程序还简单地嵌入了Internet Explorer界面--我们使用Chromium要好得多。

PWAS可以提供一条出路

电子、CEF和类似的技术有很多优点,但也有一些缺点。渐进式网络应用程序(PWAS)有朝一日可能会提供一条出路,因为它们为现代网络应用程序提供了一种离线工作的方式。然而,与Electron和CEF不同的是,PWAS在后台使用您的标准Web浏览器。您也可以通过Web浏览器安装它们-不需要手动更新和捆绑Chromium代码。

随着微软转向基于Chromium版本的Edge浏览器,PWAS是否能成功地与Electron展开竞争将是一件有趣的事情。这绝对是一个更干净、内存使用量更低的解决方案。

相关:什么是渐进式Web应用程序?

相关文章