I'm forming some hypotheses about the history of frontend, can someone who was there at the time confirm? (🧵 1/2)
Native OS UI headers, and the native frontend libraries that sit on top of them (back in the day I used wxWidgets in C++) all used absolute positioning. Visual Basic and its contemporaries like Delphi also used absolute positioning. Absolute positioning makes it extremely easy to make something that looks good at its intended size, and a huge headache to make something that looks good at any size.
HTML uses hierarchical layout essentially by pure coincidence, not because anybody in the early 90s had deep thoughts that web pages should be able to look good at any size. When everybody moved over to Electron and similar it was almost entirely for the portability (ie. most of the benefits of Java without most of the downsides, like making sure your users have a compatible JVM installed, you just ship an entire Chromium with your application), but getting hierarchical frontend for free was a welcome secondary benefit.
(🧵 2/2) If an absolutely cracked C++ developer had been able to build a good enough cross platform native UI framework that was additionally hierarchical in the same way as HTML (and for bonus points did hierarchical event propagation like React rather than a global event pump like we had in the old days), then Electron could die and the ram crisis would not be quite as bad as it is.
However, there's more. My concluding hot take is that nobody has ever figured out how to build a frontend meta-GUI that like Visual Basic is so user friendly that a child can do it *but is also hierarchical*. Your browser's element inspector gets pretty close, but nobody has ever bothered to give it the polish it deserves. What I'm not sure about is how difficult it would be to adapt an element inspector-like GUI to *generate* HTML and CSS code, or comparable code in a hierarchical native framework (whereas the element inspector modifies the browser dom state in a way that gets dropped after you refresh the page)