Android Development: First Impressions
Posted on 06. Jul, 2010 by perks in Blog
As the first of some more regular posts, I thought I’d start by putting up some first impressions of Android. This isn’t much more than some musings so apologies in advance if its a bit rambling and directionless… I’ve used an iPhone for over a year and have now been running an HTC Desire for about 3 weeks. I’m not going to compare the phones or OS directly, just my first impressions of developing for the Android platform as compared to my dalliance with iOS. I’m learning both and currently developing 2 apps, with the aim of releasing a version of each on both platforms.
The development IDE of choice is Eclipse. Which I am very familiar with as I spend a good chunk of my day in FDT. Google provide Android Developer Tools (ADT) as a free plug-in, and this coupled with the SDK gives you everything you need to get started. It’s very simple and I was up and running with a HelloWorld example running both in the emulator and on device within minutes (the ease at which you can get a build up and running on device is particularly impressive).
The language is Java, I’m not a Java developer, but I do know my way around Actionscript, and with some patience and the odd check of a reference book, this is an easy step because generally the syntax is very similar. There are limitless Java resources, both free and paid for, kicking around, so it’s pretty easy to pick up. Java may be an easier language to get to grips with for a flash dev, but Objective-C is fairly straightforward once you get your head around its foibles, and potentially more powerful, so overall in terms of environment, I’m going to call this even.
Fragmented hardware is an issue. Something that was apparent as soon as I started my first Android app was that there is a lot more to take into consideration as regards hardware than when dealing with iOS. Touch screen or keypad input (the very first thing I did was port the ‘snake on a phone’ example app to take touch input for control, as the included version relied on a keyboard) screen dimensions and size etc.
This wasn’t an issue with iOS until very recently, and even then it is safe to assume that the iPad and iPhone4 are unlikely to change for at least another year. Future-proofing your apps for the Android platform requires more thought, development time and planning. It also means you need to have hardware for every device you wish to support when testing, and this can be expensive.
The Android Marketplace need improvement. I don’t necessarily like it, but the restrictions on content that Apple force apps to abide by, do make for a better store. There is a lot of crap, including some apps that blatantly breach copyright, in the Android marketplace, and I think that damages the reputation of the store, which is good for no-one.
This may have something to do with why iPhone users download more apps (ergo, spend more money on them) than Android users do, but that could also be a product of the massive marketing push from Apple. A lot of info on the stores and app usage etc can be found over at AdMob’s Metrics, makes for interesting reading if you are planning on building and selling a new application.
As a developer, the freedom of the Android platform is very appealing. No long winded black box Apple admission, where your app can disappear into the cupertino hole for months on end. You sign up, get your keys and publish right into the marketplace. There is an interesting set of data available from Appcelerator – from a developer survey especially relevant, and this fits with my own view, is the fact that in the short term, most developers see iOS as where the money is, but in the long term, favour Android’s ability to come through.
For now I think it is very wise to keep abreast of developments with both platforms.


Comments