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

4

现在,火狐和谷歌浏览器都开始支持使用应用程序清单和服务工作者的渐进式Web应用程序。

那么,在编写清单时需要记住哪些关键差异呢?(或者同一个清单文件可以在两种浏览器上使用)。

如果这是一个托管的Web应用程序(而不是打包的应用程序),那么在使用户安装它的过程中有哪些差异呢?


@wOxxOm 谢谢。我也完成了同样的事情 :) - Arnav Gupta
1
这里必须小心。Chrome应用程序(及标签)一词意味着不同的东西 - Xan
太多人关注问题中的标签,而不是真正回答它。 - Arnav Gupta
2
整个应用程序/扩展领域是Mozilla和Google不同称呼但名称相似的地雷区,这并没有帮助。我利用我的Chrome应用程序知识来说“你的问题与Chrome应用程序无关”。 - Xan
2个回答

6

这个问题涉及到很多内容。我会提供一些历史背景,并回答一些可能的问题。

背景

打包应用

Chrome、Firefox、Opera等平台曾经推出过“打包”应用程序平台,它们运行HTML/JS/CSS内容,但不在网络上。通常使用某种清单文件与类似zip的打包和目录结构(有时还需要签名)来分发应用程序。这些应用程序通常不参与同源策略,也不像网络内容那样受到相同的限制和能力;通常通过专有商店提供服务,具备尚未提供给“普通老式网络内容”的功能和API。

这些应用程序的清单格式——至少在Chrome Packaged AppsFirefox Packaged Apps中——是一个JSON文件,其内容和选项没有标准化。

托管应用

一些系统将其专有的打包应用程序系统提供的额外功能与“真正”的基于Web的应用程序托管相融合,创建了“托管应用程序”。这些应用程序有很多种类,但简而言之,它们也倾向于具有基于JSON的专有清单文件。例如,参见Chrome Hosted AppsFirefox Hosted AppsWindows 10 Hosted Apps的文档。
同样,这些系统是专有的、非标准的和不可互操作的,尽管所涉及的内容来自“真正的Web”(与它们的打包应用程序表兄弟不同)。
渐进式Web应用程序
渐进式Web应用与打包应用和托管应用不同,它们仅仅是“普通的网页内容”,同时也指向基于标准轨迹的清单文件。这种格式是Chrome检测并用来触发“添加到主屏幕”的行为的,Opera目前在手动将某些内容添加到主屏幕时使用它(未来,当Opera提示时也会使用它)。Mozilla已经表明支持这种格式,他们的工程师一直在设计和改进这个标准。我乐观地认为,这将演变成基于标准而不是专有清单的UI支持。
Mozilla也计划在未来几个月内支持Service Workers,这将为Chrome、Opera和FF之间的互操作性“安装”行为奠定基础。令人兴奋的时代。

非常感谢您详细的回答。这实际上解决了我其他一些疑惑,即使我在问题中没有提出 :)另一个我想到的问题是,使用w3c标准轨迹渐进式应用程序清单,我可以获得哪些桌面体验的特殊功能(我知道对于移动设备来说,这是一件大事,因为它允许以某种方式“安装”网站到您的主屏幕)。 - Arnav Gupta
1
你可能想在另一个问题中询问,这样人们可以在那里详细说明 :). 作为一个预览,您可以获得推送通知的支持(因此您可以定义sender_id),以及在极少数平台上(除了Android之外)有关主题颜色和默认方向的支持。 - Miguel Garcia

3

这里有两个因素:Legacy(传统)和Future(未来)。

Legacy部分(用此短语并不妥当)是旧式打包系统(虽然它们仍然有效)。Mozilla和Chrome都有自己的打包格式和类似的JSON清单。我个人建议避开它们,专注于未来。

面向未来的系统是Web App Manifest,它得到了Chrome的支持,并在Android上的安装体验中使用。它还受到Opera和Firefox OS的支持。您编写的清单应该适用于所有平台。显然,每个实现处于不同的阶段,例如:

  • Chrome具有用于链接到本机应用程序的chrome_related_applicationsprefer_related_applications
  • Chrome支持background_colortheme_color以生成闪屏
  • Firefox需要一个splash_screens对象来创建闪屏。
  • Firefox定义了一个scope,告诉浏览器哪些url路径被视为应用程序的一部分。 Chrome和Opera忽略此项。
我会说,Web应用清单现在至少为可安装的Web应用程序定义了一个“一致”的视觉效果。

Chrome是否记录哪些字段(目前)受支持?我认为,Web开发人员会发现一个好的支持表格非常有用。 - Šime Vidas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接