"instead of using horrible, ancient tools" (JavaScript=1995, HTML 5 spec=2014) "use capable systems languages like C" (Objective-C=1982, C=1972, Java=1994). WTF?
C-family languages are still the best languages for systems dev, they've aged well, and Java is good for it as well. Systems dev hasn't changed much since they were developed, mostly just more transistors and cores were shoved into processors and more RAM became available. And it still stands that pretty much you can do with a computer, you can do with C. This is NOT the case with JS/HTML. HTML was developed during the time of static webpages, and JS was literally cobbled together in 10 days, and meant to provide functionality where webpages could talk to a webserver off in the background and not have to refresh, and to make HTML more dynamic.
The rich web applications that have become standard today are not what HTML and JS were designed for, hence, as I said before, the deluge of frameworks and compile-to languages that try to put bandaids over Javascripts warts. Even huge players like Google push stuff like Dart because JS is so bad.
Few people have tried to develop a replacement for C(aside from fringe projects like Rust), mainly because it's good at what it does - anything you can do with a computer. Yes, Swift is meant as an ObjC replacement, but it seems more aimed at improving programmer productivity than fixing anything wrong with ObjC.
HTML AND JS WERE NOT DEVELOPED TO RUN NATIVELY ON DEVICES! WHY WOULD YOU WANT THEM TO RUN ON DEVICES?
HTML AND JS WERE NOT DEVELOPED TO RUN NATIVELY ON DEVICES! WHY WOULD YOU WANT THEM TO RUN ON DEVICES?
Please don't shout. HTML and JS were developed to run on any device, past, present and future. HTML is actually pretty good at presenting most UI state along with documents - the UI of the vast majority of native device apps is really not hard to present as html, the only roadblock is the vendors lack of focus on mobile web view performance. JS is a mixed bag, and as you say pretty rushed, and not the favourite language of many - I wouldn't want to write an app in it, though of course it is possible.
The choice developers are presented with here is to commit to learning each new API/Language on the continually shifting sands of OS vendor APIs for multiple vendors/devices, or to commit to an open but less performant toolkit they know will be around for a while, but which has the advantage of being stable, cross platform, and not tied to any specific vendor.
Clearly you don't feel the pressure of being tied to specific vendors and having to produce multiple binaries on a growing array of platforms both mobile and desktop, but others do, and this is mostly why they choose to use web tech on mobile or desktop. It's a very political and economic choice not one based on language syntax or capabilities alone, if you attempt to simply compare C and js on a technical level for example you will fail to understand why the choice is made. I fully expect that trend of web everywhere to increase if/when HTML starts offering more choice of languages (NaCl/asm.js) and perhaps more sophisticated layout (though for present uses it's not bad for that purpose). At that point, why choose a native API which will be deprecated in 5 years, when you can truly write once and run anywhere (web, mobile, desktop).
The people native apps benefit the most is OS vendors, because of lock-in, for both consumers and developers having a more open cross platform tech is clearly desirable (easy to switch platforms or for developers serve all platforms), even if not fully practical at present.
The rich web applications that have become standard today are not what HTML and JS were designed for, hence, as I said before, the deluge of frameworks and compile-to languages that try to put bandaids over Javascripts warts. Even huge players like Google push stuff like Dart because JS is so bad.
Few people have tried to develop a replacement for C(aside from fringe projects like Rust), mainly because it's good at what it does - anything you can do with a computer. Yes, Swift is meant as an ObjC replacement, but it seems more aimed at improving programmer productivity than fixing anything wrong with ObjC.
HTML AND JS WERE NOT DEVELOPED TO RUN NATIVELY ON DEVICES! WHY WOULD YOU WANT THEM TO RUN ON DEVICES?