5 ms·
Maybe this is making me sound old, but... the DOM is definitely not an optimal way of laying out a UI. It was designed for documents, and UIs have been repeated
by tonyarkles 7y ago
Maybe this is making me sound old, but... the DOM is definitely not an optimal way of laying out a UI. It was designed for documents, and UIs have been repeatedly jammed into it until they fit. Newer CSS stuff (eg flexbox) help smooth that out a bit, but it’s still a gong show compared to actual UI toolkits (Qt, Cocoa, etc).
- hollerith 7y agoI keep hearing that, but I've used many of UIs over the years, and I prefer the UIs of VS Code, github.com, or Gmail to any of the UIs I can think of built with "actual" UI toolkits. Maybe I like text more than the average user, though.
- tonyarkles 7y agoHeh, I think it's a matter of preferences really. Emacs is my daily driver for an editor. I access Gmail via Thunderbird instead of the web UI. I do use Github via a browser, but pretty much just for doing code reviews or creating a new repository. Branching etc all happens on the command line. Looking at my current list of open apps on this machine, it's a bit of a mixed bag: - iMessage (native) - Chrome - iTerm2 (native) - Fusion 360 (uhhh something weird, dunno) - Spotify (Electron) - XCode (native) - Emacs (native-ish, maybe GTK?) - Thunderbird (native-ish, I think it's still laid out with XUL) - Slack (Electron) - Keybase (Electron) One thing to note: most of the time I am in the city, but have a second home in a rural area. When I'm out there on a spotty tethered connection, all of the above Electron apps have to get closed because they lose their minds when there's a spotty connection. Slack in particular likes to steal focus/pop up over everything when it is in a loop trying to reconnect. Spotify gets into a weird state where the UI gets unresponsive. Keybase doesn't really complain much.
- hollerith 7y agoIt might interest you to know that graphical Emacs on a Mac uses purely native UI APIs. No GTK. (And I wish Chrome used those native Mac UI APIs as well as Mitsuharu Emacs does.)
- tonyarkles 7y agoI figured it might!
- icebraining 7y agoCounterpoint: a DOM is just a tree of objects that represent a UI page/window. If you look at, say, QML, there's a DOM as well, and even if you write it in code, there's still an hierarchy of objects. I'm not sure the DOM is the problem.
- tonyarkles 7y agoThat's fair! I suppose it's more that DOM+CSS has only recently really started to have broad support for more UI-oriented layout. Things like "make these N boxes all the same width, even if N changes" :)