这个问题的背景是,我一直在开发一种我称之为工具的工具,用户可以在其中构建稍后可以运行的模块。它最初是一个小网页,在去年已经发展成为更类似于桌面应用程序的东西;但是,此时,仍然只是一组 html、css 和 js 文件。
我考虑过使用 Electron 之类的东西将其打包为可安装的桌面应用程序,但我不喜欢这种方法,并认为最好坚持使用渐进式 Web 应用程序之类的东西,因为一切都是离线完成的。
因为我想访问仅适用于 Web 扩展的 API,所以我在 MDN Web 文档上阅读了一些有关它们的内容,这让我对 PWA 和使用扩展页面来运行自己的页面/程序,而不是改变其他网页在浏览器中查看和使用的方式等?
如果一个人希望他们的应用程序能够离线工作并像桌面应用程序一样运行,那么将其作为浏览器扩展有什么缺点呢?我发现有关 PWA 的信息比有关浏览器扩展的信息更多,给人的印象是扩展不应该以这种方式使用。
其优点似乎包括访问更多 API,它使用自己的图标安装到浏览器中,并且可以更改扩展页面的窗口,使其看起来不像在浏览器内运行。
我是 stackoverflow 的新手,注意到问题有时会被关闭,因为它们被视为有争议的或寻求意见而不是事实。那么,更具体地说,您能否帮助我了解每种方法的优缺点和/或选择方法时应考虑的决策点?谢谢。
对答案/评论的回应
感谢您抽出时间回答我的问题。将问题扩展到包括电子是我想避免的事情,并在我的问题中提到它只是为了表明我已经广泛地审查了它并且不想开始关于它的另一次讨论。我的问题仅涉及 PWA 和浏览器扩展。
这个问题也与我的申请细节没有太大关系。它已经可以作为 PWA 存在。问题是,如果一个应用程序已经可以作为 PWA 存在,那么将其作为浏览器扩展会“不好”,或者不这样做的原因是什么。访问比 PWA 可用的 API 更多的 API,并将其安装到浏览器中,为其提供一个“家”,这似乎是一个扩展(由于缺乏更好的术语),比 PWA 的环境更优越。
MDN 网络文档上关于浏览器扩展的描述包括独立游戏,但似乎鼓励将游戏集成到浏览体验中(无论是什么)。我不是在构建游戏,而是想知道作为独立工具的扩展会出现什么问题。
一位评论者似乎认为,虽然可以这样做,但不应该这样做,因为扩展只是为了增强浏览体验。这也许是正确的看法。但是,另一方面,我有点喜欢在浏览器中添加一个图标的想法,该图标可以在没有浏览器菜单的窗口中打开我的应用程序(例如全屏运行网站),并允许我访问下载 API。这将为我的应用程序的用户带来更好的体验。
但可能还有其他原因不这样做,除了这不是扩展的目的,也不是它们在历史上的使用方式。会不会违反规则,让自己日后失败等等?或者,它只是为现有功能寻找另一种用途。
如果听起来是这样的话,我并不是想表现得粗鲁,只是想更好地澄清我的问题。谢谢。