I had been investigating how to develop software for mobile applications. I took a look at the development environment XCODE and Objective-C for Apple (iOS) devices.
At first I thought that developing code in Objective-C should be easy, because my programming background is in C/C++. But on closer inspection this turned out not to be the case. Objective-C is significantly different to C and developing applications using it involves a steep learning curve.
There is no point in developing an application for the iPhone or iPad if you don’t put it in the Apple App Store. The process for getting an application accepted by Apple is not so easy.
What would happen if you spent months learning Objective-C and developing an application and then Apple reject your application to have the app put in the App store?
In that case you would be really up the creek without a paddle, because you would have nothing that you could reuse. The only option would be to throw it all away.
There is an alternative to using XCODE and Objective-C and it’s called Phonegap.
Wait, things get even better. Phonegap allows you to create apps for all of the popular mobile platforms including iOS and Android and the less popular platforms such as Blackberry and Windows Phone.
There are even more positive things. Phonegap is completely free and is relatively easy to use because it allows you to program with the same technologies used for web site development. These technologies are HTML, CSS and Javascript.
It gets even better: because you are using these technologies, all of the plug-ins which are available for website development are immediately available for your mobile application.
This means that software such as jQuery, jQuery Mobile, Moo Tools, Dojo, Prototype, YUI, etc are immediately available for use in your application.
Phonegap is available for download at www.phonegap.com
Of course, if you want to develop mobile applications for iOS, you still need a MAC and XCODE, but the nut is now easier to crack.
Applications developed with Phonegap are accepted by Apple in their review of applications for the App Store. It’s possible that they could change this, but I think that it’s unlikely.
The disadvantages of Phonegap. Not many, but your application will probably run a bit slower than a native application, so it’s probably not the direction to take to develop games apps, but apart from that it seems like a great solution.
If you develop an application with Phonegap and it doesn’t get accepted into the Apple App Store, it’s not the end of the world, because the same code can be used for Android and other devices and with different CSS styling it can be used as a web page.
Note also that HTML5 is the norm if you are taking this direction, so you have to be careful if you want to write code that works both on mobile devices and websites which could be accessed by those using older browsers which do not support HTML5.
Phonegap makes it easy to access the mobile device’s lower level features (camera, accelerometer, file system, network, etc) in an easy an generic way by calls to Javascript functions.
If you would like me to develop a Phonegap application for you, I would be pleased to hear from you.
www.garthwaite.info