Firefox和Chrome应用程序清单中的主要区别是什么?

Arn*_*pta 4 web-applications firefox-os google-chrome-app progressive-web-apps

FF和Chrome都已开始使用应用清单和服务工作人员支持渐进式网络应用.

那么在编写清单时要记住的主要区别是什么(或者相同的清单文件可以在两者上工作).

如果它是托管的webapp(不是打包的),那么在用户安装它的过程中会有什么不同?

小智 6

这个问题有很多事情要发生.我会尝试通过提供一些历史记录来解决这个问题,然后回答OP 可能会问的几个问题.

背景

打包的应用程序

Chrome,Firefox,Opera和许多其他平台在不同时期都有"打包"的应用程序平台,这些平台运行HTML/JS/CSS内容,但不在网络上.这些通常使用某种类型的清单文件与类似zip的打包和目录结构(有时是签名)相结合来分发应用程序.这些应用程序通常没有参与同源策略或以与Web内容相同的约束和功能运行; 通常这些包通过专有商店和功能以及"普通旧网络内容"尚不可用的API提供.

这些应用程序的清单格式 - 至少在Chrome打包应用程序Firefox打包应用程序的情况下- 是一个JSON文件,其内容和选项未标准化.

托管应用程序

一些系统将提供给其专有打包应用程序系统的额外功能与"真实"基于Web的应用程序托管相结合,以创建"托管应用程序".它们有很多种,但TL; DR也是因为它们倾向于使用基于JSON的专有清单文件.例如,请参阅Chrome托管应用程序,Firefox托管应用程序Windows 10托管应用程序的文档.

同样,这些系统是专有的,非标准的,并且是不可互操作的,尽管有问题的内容来自"真实的网络"(与他们的打包应用程序兄弟不同).

渐进式Web应用程序

渐进式Web应用程序与打包应用程序和托管应用程序的不同之处在于它们只是 "普通的旧Web内容",它也恰好指向基于标准跟踪Web App Manifest格式的Manifest文件.

此格式是Chrome检测到并用于触发" 添加到主屏幕"行为的格式,以及当您手动向主屏幕添加内容时Opera当前使用的格式(以及将来Opera提示时).

Mozilla已表示支持这种格式,他们的工程师已经积极参与标准的设计和发展.我乐观地认为这将基于标准而非专有的清单演变为对UI的支持.

Mozilla也将在未来几个月内为服务工作者提供支持,这将为Chrome,Opera和FF之间的互操作"安装"行为奠定基础.激动人心的时刻.