3 comments

[ 2.1 ms ] story [ 14.9 ms ] thread
The author should try some desktop tools as well, like gtk/qt and xaml with c#. Short of direct win32/xlib programming android is probably the most convoluted environment around and always has been. Here (http://flukus.github.io/2014/08/19/2014_08_19_Android-Take-b... - personal blogspam) I delved into some of the tooling that the IDE has to do to make it somewhat passable, it's obvious why some devs see the appeal of electron.
It astonishes me still that Android development is such an unpleasant experience. Surely Google have the capability to improve this, but they've stuck with an outdated version of Java, some really weirdly convoluted APIs and build systems, and just generally kept it feeling like it's something from 15 or more years ago.
I'd argue that the Android tooling shows us exactly the kind of software people who can answer algorithm problems on a whiteboard for 6 hours are capable of making. (Note: IntelliJ IDEA is quite well-made; I'm speaking only of the Android-specific tooling.)

If I could tell Google's Android staff anything, it would be this: software is more than just a list of features . It's a loop connecting mind and machine that must iterate until a viable application is produced. Producing a binary artifact capable of hydrating a process that can respond to N events and trigger M side-effects should only take NxM steps to learn, but Android has always felt way over-architected to me (which might just be poor documentation that wildly vacillates between being literal+concrete and manic architectural language).

Maybe the worst thing they have is a working list of features. You can build Android apps with what they give you, and quickly if you practice. But "good enough" has always been the enemy of "pleasant" (let alone "elegant"), and that makes me sad.