3 ms·
I think you are talking about web components. Even in the old desktop world someone had to build the button widget (and all the others) that let you just throw
by mattlondon 3y ago
I think you are talking about web components.
Even in the old desktop world someone had to build the button widget (and all the others) that let you just throw stuff together in MFC or Swing or whatever.
Same today - someone has to build the web components in order for us to declaratively use them as high-level Lego.
Trouble is, there is no real high-level "general purpose" library of components beyond the core HTML elements (they'll get you a long way but there are notable things missing that we expect from apps, e.g. toolbars, menus, tab strips etc), and then the probably reason for their not being a general high-level library is that everyone wants something special for their websites (because historically websites have always allowed a lot of design flexibility, way more than your typical win32 app ever did for example).
I have several times really wished to have some solid "desktop style" components to use for things like menus, tool bars etc. That would make prototypes in electron/neutralino/tauri way way way faster to do.
- jacobsimon 3y agoThere are certainly lots of great component libraries out there for various frameworks that help with this, but I agree with the parent comment that it's still not the kind of progress we should have had by this point. I think it's unfortunate that we have to stick to HTML/CSS as the foundation for everything to maintain compatibility and accessibility, but that's how the web works I suppose. If we were to design the web from the ground up today based on what people use it for, it would look pretty different I think.
- megaman821 3y agoI am not sure it would look that different. It would be more consistent with terminology. Things like SwiftUI and Jetpack Compose look a lot more like HTML and CSS than their predecessors, and there is nothing forcing them to go in that direction. The biggest difference between other major platforms and the web, is that the web doesn't come with a default UI framework. The primitives for building UI on the web are pretty good though.
- jacobsimon 3y agoYeah maybe it's a grass-is-greener situation, but from a quick look at SwiftUI and Jetpack Compose, they both seem to have a lot more in common with React than HTML/CSS itself. They seem to encourage functional UI that combines state management, event handling, and view layout. They have primitives like `Text`, `Row`, `Column`, `Spacer`, etc. I do think the web is a lot easier to learn and the on-ramp is so much faster compared to older mobile UI frameworks, so it makes sense that they're sort of evolving toward the same patterns.
- mattgreenrocks 3y ago> Trouble is, there is no real high-level "general purpose" library of components beyond the core HTML elements This is why I hate making web UIs. > then the probably reason for their not being a general high-level library is that everyone wants something special for their websites This is why I hate using web UIs. At this point it's hard not see this as a fully self-inflicted wound by the platform. I know there are component libraries, but the work always remains fragmented because someone decided that their buttons needed purple highlights while someone else's needed drop shadows. And the devs seem to love staying at this low level of abstraction. Feels like they had to be dragged into the component model espoused by React et al over many years.