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
use 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.