Solid – The Best JavaScript UI Library You’ve Never Heard Of
medium.com
medium.com
For the most part, imho any new paradigm almost needs something like bootstrap and/or a material design library as a starting point. Bootstrap likely easier to work towards for a starting point.
I guess one of the reasons I'm so intent in fully supporting Web Components is so that it is easy to package up Components like that and it opens up the wide variety of options available regardless of framework.
It would take a bit more thought/planning for something closer to material-ui's packages (or something else for that matter). I really like material design myself, but know a lot of people don't care for it.
In any case, I hope the project does gain traction. If I do something completely green, will definitely be keeping it in mind.
When it comes to VDOM, as far as I know, that's just the implementation chosen in react-dom, not something that is inherent to React.
While ReactDOM is just an implementation of the VDOM, Solid uses a completely different change management approach than React which is why it's API can look like React Hooks but not be subject to the Hook Rules. Although its more the other way around in that React Hooks is influenced by fine grained libraries that have existed for over a decade now.
Historically this approach suffered greatly on initialization but precompilation of the JSX mitigates this. Which just leaves this approaches strength which is partial updates to handle the rest. In so the approach differs from a lot of previous precompiled work since the update cycle is more optimized.
EDIT: I see meant more that React itself isn't married to the VDOM. That is true-ish. It still is based on Partitioned Top Down evaluation. So even if it wasn't using a VDOM it would attack things a similar way. Solid is using fine grained evaluation through an Synchronous Reactive Programming graph. It just fundamentally works very differently on how it handles changes.
Instead I've been going the other way. Using less rows but using Chrome to throttle CPU. This lets you focus must more on what can be done in the JS.
I am personally not a fan of this trend of browser libraries falling apart beyond a few tens of thousand items. Native apps scale well to such numbers of items and stay performant, albeit there would be a freeze for a while. Excel and Matlab come to mind as examples. I have given millions of items to both for real use cases.
All I meant was that the time the browser spends on rendering/layout/GC trumps an implementation code consideration. Optimized handwritten JS has the issue before even considering libraries. People attempt to come up with smarter solutions rather than actually just rendering a million rows. Playing with timeouts and asynchronous rendering the view in parts is an approach. Windowing is another, by which I mean setting a viewport essentially(ie only render what's in view). But currently these sit in userland since there are tradeoffs.
I've seen libraries try to offload to WebWorkers but every attempt I've seen so far in that vein is slower than just optimal main thread code. I know the WASM crowd is looking into that.
Also things like Time Slicing in React Fiber are trying to bring this to the library level. And Solid's primitives can be used to similar effect but these approaches aren't generalized yet. It's one of the areas I see Solid's model having an advantage.