Recently I was looking at how we could leverage our existing HTML5/CSS3/JavaScript code and skills to create a mobile application that we could easily deploy to the various stores, mainly Apple, Google Play and Windows.
A few people suggested PhoneGap. But before we jumped all in into PhoneGap development, I wanted to analyze and make sure it could be the answer to what we were looking for.
I put together this very brief analysis of PhoneGap for mobile application development. Though PhoneGap is open source and is advertised as standardized APIs without requiring native SDKs, for all practical purposes I found there were a lot of caveats.
Pros | Cons |
Leverages HTML5/Javascript/CSS3 skills of developers | Need to pay attention to lack of certain features in mobile browsers e.g. SVG |
UIWebView control allows using PhoneGap API irrespective of underlying mobile platform |
|
Testing and debugging using desktop browsers and mobile simulators | Different IDEs are required for development for each mobile platform |
Can copy HTML/CSS/JS source code files for each platform to different codebases thus effectively sharing code |
|
For builds, Native installers created using target platform tool chain (native SDKs) or cloud based PhoneGap Build (not free) |
In detail, for each PhoneGap platform:
- You can develop Android and HP webOS apps on any of the major desktop operating systems – Windows, Mac OS X, or Linux.
- You can develop Symbian Web Runtime apps on any OS, but you can only run the simulator from Windows.
- Developing for BlackBerry is similar – the SDK can be installed on Windows or Mac OS X, but, at the time of writing, the simulator only runs on Windows.
- The Windows Phone 7 SDK only runs on Ubuntu Linux, versions 10.04 and above. (? Unverified)
- The iOS SDK requires the latest version, 10.6, of Mac OS X (and, according to the OS X EULA, a Mac computer as well though some people claim to have installed it virtually).
In short, with a Windows developer PC, a mobile application can be built for multiple platforms including Windows Phone, Android except iOS.
Software Requirements for development using PhoneGap for the 3 major platforms
Dev requirement | Windows 8 | iOS | Android |
Hardware | Windows PC | Mac (Windows PC possible if able to install Mac OS X virtually, YMMV) | Windows PC or Mac |
Operating system | Windows 8 | Mac OS X | Windows, Mac OS X or Linux |
SDK | Windows 8 store JS templates | iOS 6 SDK |
|
Recommended IDE | Visual Studio 2012 Express or higher | XCode 4.5 or higher | Eclipse Classic or Higher |
Some interesting articles/discussions regarding PhoneGap (not in any particular order)
- Comparison between Corona, Phonegap, Titanium – Stack Overflow
- Installing iPhone apps without a Mac-using apple developer account and Phonegap build | Techden
- Developing iOS apps on windows?
- Getting started with PhoneGap
- Windows Phone 7 application using PhoneGap
- Getting started with Android development on Windows with PhoneGap – tips & tricks
- Getting started guides
- Building PhoneGap apps with jQuery mobile
- List of apps created with PhoneGap
I really like your blog. You write about very interesting things. Thanks for all your tips and information.
I completely agree with this blog. I work with PhoneGap Application Development and I know what it means. How it useful and becoming popular.