Apps/ManfiestFormatComparison

From MozillaWiki
Jump to: navigation, search

Manifest Format Comparison

This is a comparison of the manifest formats for Mozilla's Open Web Apps and Chrome's Hosted Apps.

Field Mozilla Chrome Compatible Notes
Name name name YES Mozilla stipulates max length 128 characters
Description description description YES Mozilla stipulates max length 1024 characters
Version version version NO For Chrome this is required, for Mozilla it's optional. Mozilla uses a string, Chrome uses dot-separated integers.
Launch URL launch_path app.launch.web_url NO Mozilla requires a path relative to the app's "origin", Chrome requires an absolute URL beginning with http, https or * (meaning both).
URLs n/a app.urls NO Chrome allows multiple URLs (including wildcards) to form part of the app and be given the permissions required in the manifest. Mozilla hasn't implemented a permissions system yet, but presumably will assign permissions per domain?
Icons icons icons YES Map of sizes to paths. With Chrome icons are uploaded to the apps store, with Mozilla they are served at URLs as part of the app.
Developer developer.name, developer.url homepage_url NO Mozilla allows developers to provide a name and URL which can be used in repositories & dashboards, Chrome does not. Not a huge problem as these are optional fields for Mozilla. Chrome extensions can have a homepage_url which may be supported by apps and could be seen as comparable and is also optional.
Locales locales, default_locale _locales (directory), default_locale NO Mozilla uses a map for localised versions of the data in the manifest, Chrome extensions use subdirectories containing "default strings" for the extension and this may be supported for apps.
Installs Allowed From installs_allowed_from n/a NO Mozilla allows an array of origins allowed to trigger the installation of the app, Chrome does not have an equivalent.
Widget/Panel widget.path, widget.width, widget.height launch.container, launch.height, launch.width NO Mozilla has the concept of "widgets" as a separate abbreviated view of the app, Chrome has the concept of "panels" which is an alternative method for presenting the app itself.
Background Page n/a background_page NO Specifies an HTTPS URL to load in a "background window" in Chrome, not supported by Mozilla.
Key n/a key NO Chrome requires apps to have a public key, Mozilla does not appear to have an equivalent.
Minimum Chrome Version n/a minimum_chrome_version NO Appears to have no use outside of Chrome.
Offline Enabled n/a offline_enabled NO Chrome uses this field to highlight apps that can be used offline when the Internet connection is dropped. Mozilla doesn't have an equivalent.
Permissions n/a permissions NO Mozilla does not yet have a permissions system.
Update URL n/a update_url NO Chrome uses an XML file for auto-updating apps, Mozilla doesn't appear to have an equivalent.

Manifest Delivery

Chrome

A manifest file called manifest.json is packaged in a .crx file (a special kind of .zip file) and uploaded to the chrome web store to be served by Google along with icons and other resources.

Mozilla

A manfiest file is recommended to have the extension .webapp and can be served from any web server with Content-Type header of application/x-web-app-manifest+json and is expected to be UTF-8 but other encodings can be specified with a charset parameter. The manifest is expected to respect normal rules for web caching and updates can be handled through the use of the version property.

References

  1. Mozilla Open Web Apps Manifest
  2. Chrome Hosted Apps Manifest