https://news.ycombinator.com/item?id=27576937
Opening it up, fresh, it's taking 49.9MB of memory for me. For a tab I've had open for a while, of the same page, it's doing 60MB. And that's despite it not being a "web application": it's barely a web page! So here I am, doing exactly what everyone claims I should be doing, and using a web browser for my web content. And one of the most spartan sites on the internet, Hacker News, has mildly-active threads that take up 60MB of memory. For the tab. Not for the browser, for the individual tab.
The best Electron application I've ever came across launched with 100MB of memory consumption and pegs a CPU core. That's not even getting into how nearly every single Electron application puts 150MB+ on your hard disk, because that in particular isn't incredibly relevant.
I'm sure there are many like you who want applications to be frugal with memory and cpu consumptions, but I think most users don't really give a damn.
There are bloated web apps that should be improved for sure, but they also exist with "native" languages.
The issue has always been runtime computations, PWAs are perfomant if you keep them low.
I wrote myself an ebook and webnovel reader PWA which tracks progress by pixels and percentage amongst other things. There is no noticeable difference between fbreader (native) and this angular app. I get the same amount of drain per hour as I repeatedly verified when I switched.
You as much as glance at a web page, and it causes a repaint and reflow of the page.
Everything else stems from that.
I mean, there ARE downsides to using web tech, but as a flexible layout system that can gracefully describe very large ranges of targets I have not found it's equal.
You probably mean literally every native system. Because it's not like native toolkits didn't exist on the same systems as HTML+CSS.
> a flexible layout system that can
There's significantly more that's required of UI than just layout. And HTML+CSS are horrendously bad for anything beyond a static page of text with images.
For layouts, I've used various toolkits including Qt, Java AWT and SWING, and Visual Basic way back when. Creating a GUI that scales gracefully on these, in my experience, is time consuming and highly difficult. Most everyone favors static layouts because of the challenges. Learning responsive design on a web page takes a bit of time but it has the tools to reasonably manage a variety of layouts on a wide range of screens.
I would even accept an individual native system's layout manager as a counter argument of something that is at least competitive. It really isn't an easy problem.
These facts are obvious to anyone who has seen anything else besides just HTML+CSS.
Adding a simple box shadow on an element will trigger reflow in most browser engines [1] Efficiently animating anything that as much as breathes at layout is impossible. Efficiently displaying anything beyond a few hundred elements on a page? Equally impossible (and there are no virtual lists on the web).
But the actual argument is this: given "the most advanced and powerful layout system in the world that has no parallels anywhere else, it's so unique", why is it that most CSS frameworks struggle to implement anything beyond the most basic of controls (buttons, links, may be tabs)?
> Creating a GUI that scales gracefully on these, in my experience, is time consuming and highly difficult.
Ah yes. "Scales". Because this is the area that only HTML and CSS have to deal with. Because, you know, resizing windows didn't ever exist since the earliest days of GUIs.
However, being able to work at different sizes isn't what "scaling a GUI" means, or should mean. Desktop apps have been able to work at different sizes for close to 40 years now.