Hacker News new | comments | show | ask | jobs | submit login

Having done corporate grade mobile work, there's no question of which platform is easier to develop for. On Android, not only do you have to simultaneously target in some cases four or five different API levels, you also have to hit several combinations of screen dimensions and resolutions. The documentation for Android is also lacking in comparison to the iOS docs. The android SDK, though comprehensive and generally very high quality, suffers from the same complexity problems arising from issues related to fragmentation.

Remember though, most of the developers who are doing work that actually matters on mobile aren't doing it because they want do, they're doing it because a corporate strategist thought it would be profitable use of their time.

I haven't found this to be the case at all. With the compat libs you can pretty easily target 2.3 and 4.x. And the dynamic layout issues are more than offset by the much greater flexibility of Android's layout managers.

An iOS app I'm working on right now has been a nightmare in comparison because we had to port our layouts to the i5 form factor but can't require iOS 6 just to get autologous. Apple really blew that transition.

Still: how many currently deployed devices running iOS are you going to be QAing that application on? Two, maybe Three? How many versions of iOS are you going to be seeing on those devices? One or two most likely, iPhone users tend to upgrade with their software with much more conformity and faster. Compare that to Androids upwards of fifteen (and growing) widespread devices, and a heinous amount of API levels in the wild. That's one of the more objective factors which make Android easier.

Also, you can say that the API level differences don't matter because they are hidden by compatibility libraries like The Support Package, but the truth is that those are just the newer APIs re-implemented against the old interfaces. You pay for that extra abstraction with wasted cycles and bloat, and it's an ugly solution. Even still, those libraries aren't perfect: there have been subtle bugs or incompatibilities introduced by their use which are notoriously hard to find. Finally, even if the newer APIs are present on the device, The Support Library will still be used (last I checked, though I think they are working on this).

Less objectively, it's a matter of preference. Some people just prefer objective C to a JVM compilable language.

I have had way more mystery bugs on the 3gs than I have on any Android phone.

Weird. I found Android to be a nightmare.

The emulator is atrociously slow and every manufacturer seems to have different implementations of UI controls meaning it is expensive and time consuming to test.

Run one of the x86 images and the emulator is plenty fast. It takes a while to start up but after that the speed difference compared to the iOS emulator is negligible.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact