So, that's part of the problem, right? For some damn fool reason we keep throwing beginners at frameworks--they should be starting with just bsaic HTML and CSS, and then learning JS, and only then moving on to frameworks. It's so damned confusing in part because people aren't learning the fundamentals, and so are lacking a mental model of how things work and what makes them slow.
I'd also tried HTML, but it just wasn't competitive. The native iOS UI was even faster and was miles ahead of HTML in terms of speed.
Show me some numbers. If you want to talk about performance, then let's be quantitative. I'm also willing to wager that the HTML on the mobile device was full of bits you didn't need.
But still, there are better models, and there can be even better models.
Again, why do you think this is the case? It's worked, with expansion, for over twenty years. That's a staying power few technological approaches have--maybe, there's something to it. This notion of "better models" really frequently boils down to "I have this one specific thing I need done, and anything that doesn't match this one specific thing is superterribad and clearly needs replacing."
If you want the best performance (which honestly probably doesn't matter that much for your use case), write things in native code as you've done. But don't then pretend that that is a valid yardstick to measure an entirely different tech by.
Actually, I've been familiar with HTML+CSS+JS for a long time. The vanilla web is just not very practical for creating full-fledged web apps, especially given that there are so many frameworks that have a lot of things out of the box. Also, the vanilla web misses some features that are essential, such as the reactivity (binding).
Show me some numbers. If you want to talk about performance, then let's be quantitative. I'm also willing to wager that the HTML on the mobile device was full of bits you didn't need.
The last time I tried you wouldn't need numbers, as my pet engine did steady 60 FPS full-screen animations, while the iOS web view pathetically presented something closer to a slideshow, Android did better, but still not smooth enough. And the page loading was visible instead of instantaneous display with the native stuff. Of course, faster devices alleviate the problem.
>But still, there are better models, and there can be even better models.
Again, why do you think this is the case?
Because I've developed my own thing similar to what HTML+CSS+JS do, and I could clearly realize that you can do the same things with a much simpler model that also happens to work faster. Also, there are existing native frameworks that are examples of this.
It's quite clear that the web wasn't originally designed to be used how it's currently used and practical web apps are built with basically hacks over hacks and hack-based frameworks. Obviously, getting rid of all that clutter accumulated by incremental evolution would make a difference.
> Actually, I've been familiar with HTML+CSS+JS for a long time.
I am familiar with HTML, CSS, and JS, but can't make anything except the simplest static website.
My point wasn't about how good my pet engine was (because it wasn't), but about the fact how the overcomplicated model of the HTML-CSS-DOM-JS makes it so hard to optimize web page rendering that even an unoptimized prototype UI engine outperforms the browser.
I am amazed by the people who develop browser engines because they do something almost magic of fitting that monstrous dynamically modified DOM into so little memory and making it so fast.
I conjecture that in a naive unoptimized implementation a web browser would consume gigabytes and took a couple of minutes to load an average page.
Actually, my pet UI engine was powerful enough so that I've implemented a complete mobile application in it. I'd also tried HTML, but it just wasn't competitive. The native iOS UI was even faster and was miles ahead of HTML in terms of speed.
Also, there is such thing as Qt Quick, where you can basically write in reactive JavaScript, it is at least as powerful as HTML-CSS-JS, and it is still way faster.
The web has started from something that obviously wasn't designed for performance and has come a long way of incremental evolution. Given this, and given that I know how hard it is to make a fast UI engine as powerful as web, the current web performance is actually spectacular. But still, there are better models, and there can be even better models.