What would it take to build a complete mobile tool chain in the browser? Mike Milinkovich posed this question the other day in a conversion with some Orion developers. 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.
The short answer is that we’re not there yet, but the future is closer than you think. Here are steps to 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 this morning, 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. It is currently sitting at 73% done and has a 1.5GB disk footprint so far. That’s the SDK for only one mobile platform.