Mobile Web Extension Points

The purpose of this page is to aid discussion of extension points that will be required for an Eclipse project for mobile Web development. Please feel free to make adjustments and add your own comments.

We first look at the larger question of components required for mobile development in general. Some of these components exist in other projects such as Mobile Tools for Java and Tools for Mobile Linux.

Ideally, we could identify all the different elements required for mobile development for many different target platforms. From this, a general framework could be designed that would allow any mobile development tool to plug itself in and make use of the framework. Having established such a framework, we could identify which elements are unique to mobile development needs and which elements (extension points) could be procured from other projects. Ultimately, we consider what is needed for Mobile Web tooling. Following is a list of items that appear common for mobile development:

Common Components for Mobile Tooling

Device management

Discovery of available SDKs and device emulators/simulators. The acquiring of device properties and preprocessing symbols. Management of SDKs/devices. (This may be one or more components).

Build stack

Preprocessing

Compilation

Localization

Preverification / Validation

Obfuscation

Signing

Packaging

Testing

Emulator launching

Hardware launching

Debugging (emulator, hardware tethered, or remote)

Profiling

Deployment

Packaging for deployment. This step could involve signing and packaging indicated in the build stack above.

Note that no particular ordering is suggested above. Obviously, some steps will require firm perquisites, but others may not. A generalized mobile tooling framework should impose as few restrictions on extension providers as possible.