Application runtime shared with Firefox that can be used to create cross platform desktop applications such as Firefox itself using web technologies. Applications packages are just Firefox OS Packged Apps.
Commonly you would install firebox as a
devDependency of your npm package / application and run it as such:
node ./node_modules/firebox/firebox.js ./manifest.webapp
Argument passed is a path to an application manifest which is json file with information about the application (follow the link for details).
Commonly one would also add a
start script to
package.json to just
npm start for lunching app.
Please note that firebox expects to find a nightly build of firefox on your system in order to borrow it's runtime & will fail if it's not installed.
It is also possible to just use Firefox Nightly build by pointing it to firebox, although in that case usage is little more complicated:
/Applications/FirefoxNightly.app/Contents/MacOS/firefox -app /path/to/firebox/application.ini /path/to/app/manifest.webapp
As a matter of fact
firebox.js script does the same it just finds a Firefox installation on the system.
During development you may want to use debugger, which is possible by passing additional arguments:
# using node node ./node_modules/firebox/firebox.js ./manifest.webapp --debugger 6000 # using firefox /Applications/FirefoxNightly.app/Contents/MacOS/firefox -app /path/to/firebox/application.ini /path/to/app/manifest.webapp --debugger 6000
If application was lunched with a
--debugger flag it will listen on given port (in this case
6000) to which you can connect via Firefox WebIDE.
You can check actual application example to see how all pieces fit together.