What would it take to build a complete mobile tool chain in the browser? The question is quite relevant for today's mobile developers, who currently have to download large SDK's to develop and build their mobile applications (and buy a Mac if you want to develop for iOS). If you want to target several mobile platforms, and maybe even some future mobile-friendly desktop platforms, you're going to have to download, learn, and maintain quite a few of these SDK's.
Not only that, but many developer workflows are quite suited to running directly on a mobile or tablet device. Imagine for example testing your mobile application on a device, and being able to quickly switch back to your development tools to tweak styling or layout, enter bugs, kick off new builds, etc.
The short answer is that we're not there yet, but the future is closer than you think. The PhoneGap Build service, which recently went into open beta, provides a solution for assembling and packaging mobile applications remotely from your browser. The recently created Orion project is one of many efforts to bring development tools to the browser. By combining the currently available Orion tools with PhoneGap Build, we can already create and build a complete mobile app from your browser:
1). Fork the sample web application at https://github.com/phonegap/phonegap-start on GitHub.
3) In the Orion Navigator, find and edit your application config.xml file. For example, change the application name and description.
4) Open the Orion Git Status page from either the Repositories page or the Navigator menu. Commit and push your changes.
5) In PhoneGap Build, supply the URL of your Git repository.
6) Once the PhoneGap worker drones are finished, you will have a list of compiled native applications ready for download.
This is where the current browser-based mobile tools story comes to an end. In theory you can now submit your built application to the various mobile app stores directly from Phone Gap. In practice, you're going to want to test and iterate your application using a mobile emulator before unleashing it to the world. There is obviously an opportunity here for someone to develop a web-based test and emulation platform for mobile to fill in this gap.
Aside: Before embarking on this investigation, I started downloading the Android SDK. This admittedly trivial mobile application was started, developed, built, and a blog post written while the SDK was still downloading. By the time the blog post was published, the download was sitting at 73% done and had a 1.5GB disk footprint. That's the SDK for only one mobile platform. Clearly the current Android SDK tools are far superior to anything available in a browser today, but it gives you a glimmer of what the future may bring.
John Arthorne has worked on the Eclipse and Equinox projects for the past decade in many different areas. He was the main developer on the resource model for many years, and designed the platform's concurrency infrastructure. In recent years he has focused on the Orion server, provisioning (p2), e4, and overall platform API quality. John is a member of the Eclipse Architecture Council, Planning Council and Eclipse Project PMC, and is a Senior Software Developer at IBM Canada.