For Web developers, the most important part to understand is that the entire user interface is a Web app, one that is capable of displaying and launching other Web apps. Any modifications you make to the user interface and any applications you create to run on B2G are Web pages, albeit with enhanced access to the mobile device's hardware and services.
For Web developers
Boot to Gecko is under heavy development currently; we are constantly working on ways to make it easier for you to use and hack on Gaia and create apps. However, you need knowledge about systems in order to do things like build the entire B2G stack, or flash a phone with a build of B2G. Linked below are guides meant for Web developers interested in running and making changes to Gaia or developing apps to run on Boot to Gecko devices.
Writing apps for Boot to Gecko
B2G apps are nothing more than open Web apps that are installed on a B2G phone.
If you have a Boot to Gecko developer phone
If you have received a developer phone running B2G from Mozilla or had someone install B2G on your phone, here is a basic guide for working with your phone. We are working to improve this process and hope to have more streamlined instructions on MDN soon. If you are interested in the build/flash process, please see the following section 'Setting up & building Boot to Gecko' for more detailed information.
Running Gaia using Firefox Nightly
If you have some knowledge of git, you can clone the Gaia repository and launch Gaia using a recent Firefox Nightly build.
Building and Running B2G desktop builds
It is possible to build a Boot to Gecko 'simulator' and run Gaia using this application. This software is based on Firefox but behaves similar to the on-device experience of Boot to Gecko. Currently Mozilla is working on providing nightly builds of this application for developers, and this work is being tracked in bug 744008. If you are familiar with building the Firefox code-base or C++ projects, you can build this application yourself following these instructions.
- to a mobile device in most respects
- are not available.
Setting up & building Boot to Gecko
- Setting up B2G Build Environment
- Setting up B2G Build Environment for Mac OS X
- Building B2G for QEMU Emulator
- Building and flashing B2G for Samsung Galaxy S2
- Building and flashing B2G for Samsung Nexus S
- Updating an existing B2G phone
Developing for Boot to Gecko
Gaia Unit Tests
Marionette for Boot to Gecko
Gaia Unit Tests
- Setting up Marionette for Boot to Gecko
- Marionette for Interactive Python
- Marionette for QEMU emulator
- Marionette for Samsung Galaxy S2
Writing Tests For Marionette