“Recently, we released the Android version of Meridian, our platform for building location-based apps. We didn’t use one of these ‘Cross Platform!’ tools like Titanium. We wrote it, from scratch, in Java, like you do in Android […] So, we rolled up our sleeves, downloaded the Android SDK, and got to work.”
I found this comparison quite good as it did not seem to favor neither platform.
I agree, but I cannot shake the feeling that the article is a bit too negative in tone about Android, when if you look at the content it comes out a lot better than iOS.
I mean, for the author Eclipse apparently was a bit of a hassle while he already felt comfortable in Xcode, so obviously that all depends on what you’re used to.
The Android emulator is slow, that’s true, but not only can you launch an Android app on a real phone quite fast, it’s also much easier than on iOS because you don’t have to deal with certificates and stuff before you are even allowed to run your app on a real device.
Finally his negative point about Android’s XML layouts:
You should try opening an iOS xib file in a text editor for fun sometime. It’s also XML, only completely human unreadable.
Anyway, as you can probably tell I vastly prefer Android development. And I too got started with iOS as my first mobile platform (although not my first programming experience).
Edited 2011-08-01 20:23 UTC
Only to be expected. If you’re already experienced in one platform (e.g iOS / Xcode / ObjectiveC), that’s always going to shape how you think about a different platform.
No matter how much you try (and the author *has* done pretty well), it’s impossible to be completely unbiased, and I’m sure an experienced Android developer would have similar reactions going the other way…
Very true…
I have used Eclipse for Java work for years, then moved to Netbeans as I found that IDE easier to use (IMHO)…
When I began coding for iOS, there were a few things that really threw me, but once I got my head around some concepts, the reality for me was I could code apps in XCode / IB a lot quicker than with Eclipse / XML layouts (I’d coded Swing for a long time, so knew the concepts pretty much).
For me, the biggest thing would be learning Cocoa Touch / Core Foundation frameworks v Android SDK. Once you are at home with one, you need to learn all over again for the other. It’s not a big deal, but can still be a little daunting…
I do love CoreData on iOS however, something all iOS devs need to understand I think. Is there a similar wrapper for Android?
It’s extremely rare for an iOS developer to need to do that. The code is created by a machine. Why should it be required to be human readable? Besides – if you open it in a competent XML editor and apply formatting, it validates and can be made to look much more friendly.
The only time I ever opened a XIB was when trying to debug a plug-in that was attempting to read the XML and create source code definitions for controls (.Net MObjC plug-in – the code is in the MonoDevelop git repo I believe, or at least the original MonoTouch plug-in code is.)
Well, you can create the XML in Android by using the visual editor, so you don’t need to see the code if you don’t want to, just like in iOS. I almost never write any XML tags by hand. Even custom UI components that you create will show up in the visual editor, for you to drag and drop into your Activity.
In general we found that developing for Android was on par with iOS.
We did find that the the Android toolset was weaker and there were these super crazy camera issues that required us to recreate the camera functionality but, all in all, we didn’t have too many problems.
That said, we’re going to be rolling out the Android app to Beta next week. We’re pretty worried about device and vendor specific wackiness but we have no hard data on it as yet.
The very nice thing about Android, of course, is that if you find a bug after you deploy it to the store you can update it quickly while with the iOS it’s like a 5 day wait.
]{
Do you really need a Mac to write iOS apps?
Yes. The required Apple tools run only on OS X.
But OS X doesn’t run only on Macs. It’s even legal in non-DMCA countries.
There are a couple of cross compile environments … but it is usually best to use the “supported” dev environment.
But you would need a Mac to do the packaging and distribution for testing anyway.
The Android CDT also provides an UI editor, you are not forced to use only XML.