I’ve been looking at creating applications for the Android and iPhone platforms, though it’s actually Android that interests me more. I’ve had a play with the various tools and libraries available to developers including:

  • Android SDK
  • Adobe AIR
  • ScoreLoop
  • Titanium/Appcelerator
  • Phone Gap

The benefit of using Titanium or Phone Gap is that it’s quite easy to build an app that works on both iPhone and Android using the same set of code.  Unfortunately, both are quite poorly documented and lack and proper support.

Flash AIR looks good, but after building part of a simple puzzle game with it, it turned out that even a basic game is rather laggy and runs at a very poor frame rate giving a very poor user experience.  I left AIR then, though do bear in mind I tried it when AIR was still in the early test versions and it may have become more stable recently.

That leaves the Android SDK.  Whilst the sheer size of it and its available libraries may be overwhelming to start with, there’s plenty of free resources out their to get you started, plus I’ve invested in a couple of books to help out.

The SDK using XML to create the layouts for the application, and Java code to actually control the program and to make the layout actually DO stuff.  It’s pretty easy to grasp the basics of it, and of course all the required tools and the SDK itself are completely free – there’s no investment required to start publishing Android applications.

Now that I’ve spent a few months studying the various available options for app development, I’m about to start on my first Android application that I intend to publish to the Market.  It’s going to be a free app, with a pretty simple nature but as far as I can see the idea’s never been implemented until now.  I’m not going to go into what it does yet but I know a lot of people will appreciate it!

What about the iPhone?

When I first decided to go into mobile development, it was actually for the iPhone but after sitting down and trying to grasp Objective-C, I just didn’t have the time to learn a whole other language which is so different to the programming languages that I’ve gotten used to (Java and C++) so I decided to give it a miss.  Whilst I might go back to learning Objective-C at some point, if Phone Gap or Appcelerator improve their support then I may switch to either of those platforms sooner instead.

I’ve decided to focus my efforts on Android for now and I’ve got a few ideas for applications which I may launch to the Market in the near future.