Allow me to preface this entry by stating first and foremost, that I love Android. I think it’s pretty awesome, open source development is awesome and it is always a worthwhile endeavor to take part in, not to mention the huge diversity of devices that are available that can run it.
But that’s where I have to stop, and take stock. From a personal perspective, I never ever want to develop anything for Android ever again. The run of hardware is of such a wide variety and runs so many custom implementations (both of which are pretty cool for end users) that it becomes a nightmare to make anything work across a wide range of devices. What works perfectly on one device, has unexpected quirks on another, or flat out right doesn’t work due to some crazy limitations, not to mention the fact that when you start looking at individual Android base versions, there can be a huge difference between those in the same API band, simply because they come from a different vendor.
I love Android to pieces, but trying to account for all the variety is a nightmarish task, and it ends up, in my opinion, being far more trouble than it’s worth.
Even if you are not an Apple fan, from a development perspective, having a completely unified platform on which to base your applications is an absolute godsend, and it makes life so much easier not having to worry about different feature sets between varying versions or even handsets.
From now on, I think I’m going to stick to just iOS development.