Why is _Android_ development relatively easy? Well, for one thing, the territory is well trodden. ... _Java_ masters have been able to switch to _Android_ and tell people/show people how to code properly. ... _Java_ has been around for a while.
Goes both ways, no? Not that your comment is without merit but this bit just struck me as really odd.
Java isn't the most flexible language. Java is notorious for having over-engineered frameworks and APIs (J2EE). There is lots of unavoidable copy and paste. The newer things that make Java look more modern, lithe and Ruby-like like Spring/Hibernate - don't work well within the power/memory limitations of a mobile device.
And, more importantly, the market isn't just there for Android apps. Not as many people want to code Android. I hate to say it but some of the projects I've been involved on - Android was a "checklist" item - as on 'We're on Android now, too'. I only know a handful of full-time Android developers, but I know many, many people who have quit their jobs and have gone full-time iPhone (contract/product).
It's important to distinguish Java the language from Java the framework-encrusted "enterprise" tool. Java as a language isn't so bad. Objective-C and Java each have their own strengths and weaknesses. For example, my Java code dealing with collections is much cleaner than comparable code in Obj-C because I don't have manually box & unbox primitives with incredibly verbose messages.
The JVM also gives you alternatives. Currently none of the non-Java JVM languages is great for Android but Jetbrains' Kotlin project is looking very promising:
http://blog.jetbrains.com/kotlin/
> Java is notorious for having over-engineered frameworks
You've got to separate Java the language from all the other stuff. You aren't going to use J2EE for Android so how does that affect you? Java may not be the most elegant language but neither is Objective-C without warts.
> And, more importantly, the market isn't just there for Android apps.
Now you are just moving the discussion.. this is not what the OP was talking about nor was it the point of this discussion.
The OP's thesis was about how Android development is easy. I countered that with the strong personal opinion that once you get into more complicated apps that it gets harder. I believe it gets harder because there are less resources (for example, if you compare the Apple developer docs with Google's Android docs - you would be hard pressed to say that the quality and quantity of Google's docs are more).
Apple clearly had the lead on developer mindshare because of the success of the App Store. Google is catching up but the reality is you can make a living off iOS easier than Android. You could do both but going from CoreData to ContentProviders in one day might make your head queasy.
Speaking of J2EE, I would love to have Spring or Hibernate ORM. I've tested the various Android ORMs and they do not yet seem to be 1.0.
Goes both ways, no? Not that your comment is without merit but this bit just struck me as really odd.