On Tuesday, 4 February 2014 at 03:30:58 UTC, Manu wrote:
On 4 February 2014 12:59, Andrei Alexandrescu <seewebsiteforem...@erdani.org
wrote:

On 2/3/14, 5:51 PM, Manu wrote:

I'd have trouble disagreeing more; Android is the essence of why Java
should never be used for user-facing applications.
Android is jerky and jittery, has random pauses and lockups all the time, and games on android always jitter and drop frames. Most high-end games on android now are written in C++ as a means to mitigate that
problem, but then you're back writing C++. Yay!
iOS is silky smooth by comparison to Android.


Kinda difficult to explain the market success of Android.


I think it's easy to explain.
1. It's aggressively backed by the biggest technology company in the world.
2. It's free for product vendors.
3. For all product vendors at the curve of Android's success, it presented a realistic and well supported (by Google) competition to Apple, who were running away with the industry. Everybody had to compete with Apple, but didn't have the resources to realistically compete on their own. Nokia for
instance were certainly in the best position to produce serious
competition, but they fumbled multiple times. I suspect Google won because
they're Google, and it is free.

Even Microsoft failed. C# is, for all intents and purposes, the same as Java, except it's even better. If Java was a significant factor in Android's success, I'd argue that WindowsMobile should have been equally
successful.
I think it's safe to say, that's not the case.
Personally, I suspect that Java was actually a barrier to entry in early Android, and even possibly the reason that it took as it did for Android to
take root.
It's most certainly the reason that Android had absolutely no games on it for so many years. They eventually released the NDK, and games finally appeared. There were years between Angry Birds success in iPhone, and any
serious games appearing on Android.
There were years where if you wanted to play games in your mobile device, you had to get an iDevice. It's finally levelled now that the indisputable
success of Android is absolute (and the NDK is available).

You forget to mention that the NDK has a very restrained set of APIs.

If you want to do interact with the OS besides audio and OpenGL, it is JNI Ad nauseam because Google sees the NDK as a minor inconvenience and all APIs are Java based.

Even Java native methods need to be called via their Java class and are not accessible to NDK code.

--
Paulo

Reply via email to