Ask HN: Which mobile platform should I develop for first?

1 points by bcg1 ↗ HN
I currently have a subscription/membership site that is mildly profitable... nothing to write home about, but to be fair it has not been heavily marketed yet as we have been working out the kinks and getting a feel the best ways to support it while we are still small.

The next logical step for the site is to create an app that allows people to purchase a subscription so they can immediately start using our service.

Backend of the site is ready to go to use for an app... all functionality is implemented on Java EE and exposed as Thrift services.

Since I know Java, I glanced at RoboVM but I balked at the price. Currently my plan is to learn the Android platform and develop for that, and then develop a separate iOS app later using Apple's native tools. I'm not sure if this is the right approach, or if there are reasons why I should start with iOS and do Android later.

My questions:

1) Is it faster to get up and running with iOS or Android, or neither? I assume that for me personally Android will be faster because I already know Java.

2) Is one of these platforms better for getting actual sales... that is, in your experience do Android users make more in app purchases that iOS users, or vice versa?

3) What are the costs associated with getting an app published on each of these platforms? I assume that I would have to buy a Mac to develop for iOS (what is the cheapest machine I can use to do that?)

4) Is it wise to maintain two codebases, or should I spend more time looking for a way to develop a single codebase for both platforms (similar to what RoboVM seems to offer)?

5) Is there a compelling reason why I wouldn't want to release apps for the different platforms at the same time? In other words, should I develop apps for both iOS and Android before I release either one?

Thanks in advance.

2 comments

[ 3.4 ms ] story [ 18.7 ms ] thread
Knowing Java and knowing Android are fairly different things.

I'd sure consider something like RubyMotion ($) or React Native or Cordova or... anything unless you specifically need functionality they don't offer or make onerous.

There's nothing wrong with focusing on one platform then another, or get a lot of the way done with one then work on the other.

Thanks for the tips. I noticed Cordova already, but will consider it more closely.