/Firefox-OS-Boilerplate-App

Creating Firefox OS apps

Primary LanguageJavaScript

Firefox OS Boilerplate App

This is a demo app for Firefox OS, loosely based on fxosstub, meant to act as a simple boilerplate for getting started with apps for Firefox OS.

It will give you a button to install it in Firefox OS - on a device, in the Firefox OS Simulator (Simulator Introduction) and in certain Nightly versions of Firefox.

It is a showcase of:

To add your own icon, I recommend using the Firefox OS app icons style guide.

Preview

To test/install this app, download the code and run it on a web server, or navigate to Firefox OS Boilerplate App in Firefox on a device or in the Firefox OS Simulator.

Alternatively, install it in the Firefox OS Simulator Dashboard by providing either of these URLs:

Note: If you use the Add Directory option in the Simulator, make sure to change "launch_path": "/Firefox-OS-Boilerplate-App/index.html" to "launch_path": "index.html" and the icon paths accordingly since it runs it as a packaged app directly from the root folder of the Firefox OS Boilerplate App.

Packaged Apps

You can test packaged apps in version 2 and higher in the Firefox OS Simulator, by using the Add Directory button. If you want to access privileged APIs - such as deviceStorage, cross-domain XMLHttpRequest etc - you need to set type and permissions in the manifest file. E.g.

{
    "version": "1",
    "name": "Firefox OS Boilerplate App",
    "type" : "privileged"
    …

And:

"permissions": {
    "device-storage:pictures": {
        "access": "readcreate"
    },
    "systemXHR":{}
}

installPackage: manual approach - your mileage may vary

It also supports installPackage to install a ZIP version of your app with all files packaged. This also gives you access to a few extra APIs, due to a higher security clearance. The repository contains two sample things to make this possible:

  • A mini manifest - the package.manifest file
  • A ZIP version of the app

To enable this, please go to the js/base.js file and change two lines, as described in the comments. Basically, these are the steps needed for packaged apps:

  • Alter the mini manifest (package.manifest) and make sure the "package_path" is absolute
  • ZIP all app content (not containing folder), including regular manifest
  • Developer name and info HAS to match between mini manifest and the regular one
  • Have an installPackage call in JavaScript pointing to the mini manifest
  • (Not available anymore: Turn on Developer Mode in the Firefox OS Simulator (Settings > Device Information > More Information > Developer > Developer mode))