I've only been doing Android for 9 years. I've seen the development tools evolve and improved the past few years.
But what do I know. You're probably the expert here.
I've only been doing Android for 9 years. I've seen the development tools evolve and improved the past few years.
But what do I know. You're probably the expert here.
Kotlin may be great. I haven't used it much, but so far I'm finding it can't hide Android's bloated, over-engineered substructure.
Instant Run was buggy and made builds a lot slower, ironically the last time I tried it. That was after them saying that they fixed a bunch of issues so we should give it another chance.
I've been doing Android since 1.0 and started with iOS/Swift half year ago. I think the iOS platform is nicer, simpler, more thought out and overall a better experience, but not by a huge margin. Haven't used Kotlin yet though.
One area where iOS sucks is creating and (sometimes) working with UI.
Was it really necessary?
It would be fine if he only criticised the newbie experience (where he's very right), but he also decided to add a bunch of wrong things in there.
For what it's worth, I have about as much experience as they do, and I disagree with them. While the tools have improved, they still have a long way to go.
Somehow many of us manage quite fine, and enjoy the experience.
In every other realm that sort of drive-by shooting gets rightly criticized. "Tried Rust -- => everywhere. Lame". "Tried vi. Couldn't quit. Garbage."
I'd compare developing on Android very unfavorably to iOS. All the points the OP made are accurate, in my experience. Every time I needed to dive into Android native code, Layout Inflation, etc, I find it to be a crufty and unpleasant system. And gradle is really a pain to use - tons of edge cases and unhelpful error messages. Add to that, you need to support like ten thousand devices, many of which are running Android 4.4 (which, IIRC, is like three years old) and have a WIDE range of screen sizes.
Compare that to iOS development, and the differences seem obvious and apparent to me.
I've been developing Android apps for years (before support lib even existed, much less all the fancy new kids) and range of screen sizes has literally never once been an actual issue. Use 'dp' instead of 'px' and you pretty much never have a screen diversity problem. All the platform views & layouts handle the majority of the work.
Does React Native make this more complicated for some reason?
And perhaps RN was the culprit for some of these things. But definitely not all.