5 ms·
Man, I knew this was a troll when I clicked the link. I'll briefly vent my spleen and get on with a substantive comment. I get real tired of web soft boys com
by warcher 9y ago
Man, I knew this was a troll when I clicked the link. I'll briefly vent my spleen and get on with a substantive comment.
I get real tired of web soft boys coming into native and complaining about how complicated it is on the metal. This stuff is hard cause you're not just churning html. It's harder work than writing a web page. Sorry.
Specifically, mobile is resource constrained in a way that server-side work just isn't. Your render thread is a hot thread, and you better not jam it up. That one singular concept is the underlying cause of so, so much of the obfuscation and confusion associated with mobile development.
But that's the gig.
No, switching to javascript won't fix it. Switching to javascript will actually make it much worse, as the kinds of industrial grade tools available to make concurrency manageable (though prone to removing fingers from script kiddies or the unwary), to manage memory, to deal with a database directly, to deal with bluetooth devices, on and on are wholly unavailable, or worse still, are abstraction libraries that require you to fluently deal with both your javascript interface and some really deep native interop libraries, lest you be entrapped in cut-and-paste script kiddiehood.
I could go on at length about the myriad pitfalls and difficulties associated with mobile development, but the simple fact is that doing something cool is hard work.
- awinter-py 9y agoThen don't switch to JS, switch to C++ as the primary dev language. The performance-sensitive parts of the OS are already in C++ and the NDK exists, so this isn't that big a jump in terms of support from the android maintenance team. C++ is not slower than java on constrained hardware, also is more respectful of memory. Is it harder to use? I don't think so but I may be in the minority here.
- warcher 9y agoC/Java interop is pretty painful still, and the tooling for native debugging in android studio is notoriously unreliable. (I hear it's better now, but I haven't had to get into those libs recently, so I can't say definitively. Last go round I had to roll Eclipse to debug ndk libs. Yeah. Eclipse.)
- warcher 9y agoI think this may have been intended as sarcasm, but yeah man. I do C development for my real high performance mobile development. Everybody does. If you saw an app and wondered "Oh wow, that was cool, how did they do that?!", more often than not, somebody wrote some nasty old C/++.
- deleted 9y ago[deleted]
- wvenable 9y ago> I get real tired of web soft boys coming into native and complaining about how complicated it is on the metal. I've done a lot of native development, real native development, not this fluffy Java stuff and Android is still overly complicated in both design and tooling. My needs as a developer on Android are far from cool and that shouldn't be unnecessarily hard -- but it is.
- warcher 9y agoYou talking about the pseudo-restful activity/intent design? Cause I'm not gonna defend that, haha. It's a neat idea that simplifies corner cases at the expense of making a lot of common cases very counterintuitive. If the article was bitching about that, I'd take it a lot more seriously. I dunno, I have a soft spot for Java. Yes, the verbosity can be annoying, but compare that to the scavenger hunt that modern web languages put you on when you're trying to figure out exactly who is doing exactly what.
- dllthomas 9y agoMy biggest beef with Android is the frequency with which stuff gets stuffed in a Bundle and sent off elsewhere. Which means the typing isn't "you don't have to worry about getting this wrong, the compiler will help you" but rather "yet another thing you can get wrong that will explode at runtime."
- warcher 9y agoUgh. From your lips to god's ears. Don't get me wrong, the inter-application intent stuff is really cool and good, but sometimes, guys, it's all in-app stuff. I need to tightly couple these objects. I need to pass actual non-serializable objects amongst activities within my app. I'm sorry, I just do. Marshalling and de-marshalling data out to a bundle or the database isn't going to cut it.
- pducks32 9y ago"Metal is just the last layer you care to look under."
- warcher 9y agoThat quote is gold and I am absolutely going to steal it.
- diyseguy 9y agoPeople who like this sort of thing, like things that are needlessly hard. Like climbing up a mountain by crawling backwards feet first. Sure it took a lot more sweat to get there, and maybe you are personally proud of conquering the large amounts of unneeded extra effort it took, and enjoying pointless cognitive overload as a way of life. Primary gain for such mindsets is it creates a barrier to entry for most people that doesn't really need to be there and perhaps allows a false sense of job security.