Well, I would argue that any even slightly-complex use of the kind of tables I feel must be being meant here (though it isn't 100% clear) quickly makes you realize that pre-formatting all of the table cells makes your app much too slow, and so you at least need to instead lazy-load content for cells as they scroll in if not carefully reuse a free list of GUI object hierarchies for the cells themselves... as much as I truly do love HTML+CSS as a rendering layer, it is honestly a massive liability for this extremely core use case (one so important on mobile screen formats in particular that I would argue that how your framework supports this should be one of your primary concerns when architecting your API).
Re:So you want to write a GUI framework
by ridiculous_fish on Wednesday August 11, 2021 @03:00PM
(#28146185)
Tables are one of the weakest parts of HTML. The lazy loading in e.g. Chrome History or Yahoo Mail is an awful, jumpy experience. Even the very best implementations, like Fastmail, still break basic browser features including Find and Print.
Re:So you want to write a GUI framework
by AtlasBarfed on Friday August 13, 2021 @11:12AM
(#28169875)
I'd agree for naive uses of HTML tables, but HTML+CSS incorporates sizing, overflow rules, etc.
Which is what you'd need in any general arbitrary-content infinite-stream model.
What is the alternative?
And with good reason, the ludicrous complexity necessary to specify presentation details is mostly and with an industrial scale army of programmer/designer knowledge in HTML+CSS.
The path forward in GUI frameworks at a minimum is to leverage/support HTML+CSS which is such a huge lift to support.
That leaves the issue of inherent ties to Javascript in HTML+CSS land, versus the language you want to support, and the still-nascent integration of HTML+CSS "document/page-oriented" language vs the window style of a true GUI app.
I do not envy a new language having to produce a ground-up GUI framework. Arguably harder to do than muscling a new programming language into relevance.