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