渐进式网络应用程序(PWA)与电子对浏览器扩展程序

时间:2018-06-05 16:49:21

标签: google-chrome-extension firefox-addon progressive-web-apps pwa

这个问题的背景是,我一直在研究我称之为用户可以构建以后可以运行的模块的工具。它最初只是一个小网页,并在去年增长为更接近桌面应用程序的东西;但是,此时,仍然只是一组html,css和js文件。

我考虑使用像电子这样的东西将其打包成可安装的桌面应用程序,但我不喜欢这种方法,并认为最好坚持使用渐进式网络应用程序,因为一切都是离线完成的。< / p>

因为我想访问仅适用于网络扩展的API,我已经在MDN网络文档上阅读了一些关于它们的内容,这让我想知道并对PWA和浏览器扩展使用扩展页面来运行自己的页面/程序,而不是改变在浏览器中查看和使用其他网页的方式等等?

如果有人希望他们的应用离线工作并且表现得像桌面应用,那么将其作为浏览器扩展的不利之处是什么?我发现有关PWA的信息比浏览器扩展信息更多,给人的印象是不应该以这种方式使用扩展程序。

看起来好处包括访问更多API,它可以使用自己的图标安装到浏览器中,并且可以更改扩展页面的窗口,使其看起来不会在浏览器中运行。

我是stackoverflow的新手并且已经注意到问题有时会被关闭,因为它们被视为有争议或寻求意见而不是事实。那么,更具体一点,请您帮我理解每种方法的优缺点,和/或选择方法时应考虑的决策点?谢谢。

对答案/评论的回应

感谢您花时间回答我的问题。将问题扩展到包含电子是我想要避免的,并且在我的问题中提到它只是为了说明我已经广泛地审阅了它并且不想再开始讨论它。我的问题只是关于PWA和浏览器扩展。

这个问题也与我的申请细节没什么关系。它已经可以作为PWA存在。问题是,如果一个应用程序已经可以作为PWA存在,那将会是什么“不好”。关于使它成为浏览器扩展或不这样做的原因。访问比PWA更多的API,并将其安装到浏览器中,使其成为一个“家”。由于缺乏一个更好的术语,一个优于PWA的环境似乎是一个延伸。

关于浏览器扩展程序的MDN Web文档的描述包括独立游戏,但似乎鼓励整合到浏览体验中的游戏 - 无论可能是什么。我没有构建游戏,但想知道扩展是一个独立的工具会出现什么问题。

一位评论员似乎觉得虽然可以做到,但不应该这样做,因为扩展只是为了增强浏览体验。这可能是正确的观点。但是,另一方面,我有点想在浏览器中设置一个图标,在没有浏览器菜单的窗口中打开我的应用程序(比如运行网站全屏),并让我访问下载API。这将为我的应用程序的用户提供更好的体验。

但可能还有其他原因不这样做,此外还有一个事实,即不是这样做的扩展,也不是历史上如何使用它们。是否会违反规则,让自己在以后失败,等等?或者,它是否只是为现有功能寻找另一种用途。

如果听起来那样,我不会变得粗鲁,但只是想更好地澄清我的问题。谢谢。

1 个答案:

答案 0 :(得分:11)

浏览器扩展程序 - 这些主要用于扩展和增强用户浏览体验。想想Adblocker。它本身没用。但是当您访问其他网站时,有助于阻止添加。屏幕截图的屏幕截图扩展。一个黑暗的主题扩展,可以在您访问的任何页面中翻转颜色。

PWA - PWA应用将取代Chrome应用。 PWA可以安装在所有主要桌面操作系统和移动操作系统的桌面上。它可以离线工作。它在硬件访问方面的作用取决于用户的浏览器版本..同样可以是checked here。 Web应用程序的所有限制仍将保留。

电子 - 它是一个用原生图层包裹的网络应用程序(有点!)。这也可以离线工作..事实上,它首先离线,因为所有的HTML / CSS / JS组件都在Electron中,它也可以访问API并完成PWA在功能上所做的一切。 Electron与PWA的不同之处主要在于其构建,分布和部署方式。 Atom编辑器,Visual Code编辑器,Slack是一些使用HTML / CSS / JS构建并使用Electron打包的着名工具。

用户计算机上的PWA功能由用户浏览器版本决定,而Electron应用程序将自带运行时。所以不依赖于用户机器。这可能是您在决定选择哪一个时要考虑的关键事项。

您需要更加具体地了解您在应用中尝试实现/做的事情。您所提到的只是“用户可以构建以后可以运行的模块的工具”。这根本没有给出任何见解。