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

Chromium浏览器徽标。

Chrome不仅仅是接管网络 - 它也接管了原生应用。 您在Windows,Mac甚至Linux上运行的许多应用程序都包含过时的Chromium ,这是构成Google Chrome基础的引擎。

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

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

网上聊天? Slack是一个用Electron构建的流行应用程序。 记笔记? Evernote使用CEF,Trello使用Electron。 玩音乐? 是的,你猜对了 - Spotify使用CEF,亚马逊音乐也是如此。

您可能认为微软会回避Chromium,因为毕竟它创建了Windows。 你错了。 GitHub Desktop,Microsoft Teams,Skype,Visual Studio Code和Yammer都是Electron应用程序。 甚至用于Windows 10的新Xbox应用程序也是使用Electron而不是微软自己的UWP(通用Windows平台)构建的。

PC游戏大多坚持本机应用程序,但他们的发射器和相关的聊天工具肯定不会。 Discord和Twitch.tv使用Electron。 Battle.net,Desura,Epic Games Launcher,GOG Galaxy,Uplay,甚至Steam都使用CEF。 EA的Origin客户端使用Qt WebEngine ,它也集成了Chromium代码。

通过浏览Wikipedia上非常不完整的ElectronCEF应用程序列表,您可以了解有多少应用程序使用Chromium。 包括CrashPlan在内的备份应用程序,以及密码管理器(如Bitwarden)和实用程序(如Adobe Creative Cloud)。

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

它就像一个Web应用程序(但使用更多的RAM和存储)

Windows任务管理器中的松弛内存使用情况。

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

当您在一个Chrome标签页和另一个Chrome标签页中打开Gmail时,您的操作系统只需要运行一份Chrome。 但是当您运行两个不同的Electron或CEF应用程序时,您的操作系统需要单独的Electron或CEF副本。

特别是基于电子的应用程序消耗了大量的RAM,这种情况并不少见。 同样,因为每个应用程序都包含单独的Chromium文件,所以它们会在系统上使用额外的空间。

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

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

“虽然Electron努力尽快支持新版本的Chromium,但开发人员应该意识到升级是一项严肃的任务 - 涉及手工编辑数十甚至数百个文件。 鉴于目前可用的资源和贡献,Electron通常不会使用最新版本的Chromium,而是落后几周或几个月。“

即使在Electron项目创建新版本之后,构建Electron应用程序的开发人员也必须接受该代码,将其集成到Electron应用程序中,然后发送更新。

然而,这并不像听起来那么可怕。 Electron的文档建议开发人员避免显示不受信任的代码,并主要依赖于本地资源或可信,安全的远程内容。 这就是为什么许多Electron应用程序似乎不是Web浏览器。 例如,Slack使用Web技术提供聊天界面,但是一旦单击链接就会转到Web浏览器。

为什么开发人员使用铬?

开发人员喜欢这些解决方案,因为他们使用的是Web技术,大多数人都熟悉这些技术。 正如Electron自豪地在其主页上所说:“如果你可以建立一个网站,你可以构建一个桌面应用程序。”

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

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

这些基于Chromium的解决方案在许多方面提供了前所未有的改进。 在采用CEF之前,Steam嵌入了Internet Explorer。 Windows上的许多应用程序也只是嵌入了Internet Explorer界面 - 我们使用Chromium的情况要好得多。

PWA可以提供出路

“安装应用程序?”谷歌浏览器弹出窗口。

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

随着微软转向基于Chromium的Edge浏览器版本,看看PWA是否成功开始与Electron竞争将会很有趣。 它绝对是一个更低的内存使用率的更清洁的解决方案。

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

赞 (0)
分享到:更多 ()