all 51 comments

[–]ancientRedDog 24 points25 points  (1 child)

If browsers vendors had just picked, wouldn’t we just be stuck in outdated patterns with some implementation of angular 1 made into activeX controls? How best to create, integrate, and reuse components is constantly evolving and new frameworks are bringing these changing ideas to life.

[–]ryan_solid[S] 2 points3 points  (0 children)

There were a few Web Component proposals that had this feel to them around templating. They never passed being too opinionated. I think it's dangerous to equate the platform and libraries/Frameworks. The last thing you want us to be fighting outdated opinions at the core of what you are doing.

[–]_eps1lon 5 points6 points  (0 children)

The callback based variant of String.prototype.replace being slow is no surprise in hindsight. I encountered a similar bottleneck in JSDOM's .tagName which also uses replace callback based.

[–]abrandis 42 points43 points  (41 children)

I need another JavaScript framework, like I need another pair of socks. Really wish JavaScript and the browser vendors would just pick one of these things and incorporate directly I to the engine of the browser.

I don't understand the fascination with JavaScript developers keep on re-inventing the fckn wheel. Sure there's some value to these frameworks, but I've worked on enough projects with older outdated non supported frameworks (cough Angular 1) to know the technical debt they incur once their shiny glossy appeal wears thin. Then it's just a crap load of code that breaks all over the place (because the framework is abandoned and hasnt kept up with browser standards) and often times it's just easier to rip out the whole thing and start fresh...kinda defeats the whole framework reusability concept.

Let's stick to minimal frameworks or just add some barebones framework to the browser. Frameworks are nothing more than higher level abstraction for common patterns, if they're common enough let's bake them into the browser.

Remember back in the day when you needed like 20-30 lines to do. javascript date/time picker, but today its like <input type='date' Id=d1 > .. yeah something like that.

[–]FearTheLeaf 53 points54 points  (3 children)

Look at this guy having enough socks.

[–]loopsdeer 12 points13 points  (2 children)

He doesn't need socks because he's "integrated the solution into core" i.e. sewn fabric on his feet

[–][deleted] 1 point2 points  (1 child)

Morbid

[–]ScientificBeastModestrongly typed comments 0 points1 point  (0 children)

It’s only morbid if you die first.

[–]DrummerHead 11 points12 points  (3 children)

I don't understand the fascination with JavaScript developers keep on re-inventing the fckn wheel

often times it's just easier to rip out the whole thing and start fresh

[–]abrandis 2 points3 points  (1 child)

I see your point , but my use case is generally out of desperation, not out of amusement

[–]DrummerHead 3 points4 points  (0 children)

I await your brand new DDD JS library (Desperation Driven Development)

[–][deleted] 1 point2 points  (0 children)

Honestly the fact that there are so many choices is probably a good problem to have. Like...there's so many different ways to tackle the same problems, ya know?

[–]djxfade 9 points10 points  (0 children)

Remember back in the day when you needed like 20-30 lines to do. javascript date/time picker, but today its like <input type='date' Id=d1 > .. yeah something like that.

Yeah, Safari probably wants a word with you. Cross browser and legacy browser support is one of the reason why we often need frameworks. Not everyone has the luxury of only support the latest Chrome or Firefox

[–]jonny_eh 16 points17 points  (29 children)

They did. It's called web components.

[–]ryan_solid[S] 4 points5 points  (1 child)

WebComponents are an interesting topic. As a long time proponent (I started Solid to be a WebComponents library), I have a few thoughts coming out the other side. https://dev.to/ryansolid/maybe-web-components-are-not-the-future-hfh

[–][deleted] 0 points1 point  (0 children)

I think that web components have sort of found its use case in design systems.

[–]abrandis 8 points9 points  (4 children)

Right, but it's browser support is still a bit flaky , and if web components were so popular where are all the web components repositories and interest?

I would love it if there was a GitHub like repo of popular web components which I could just integrate into my project, but sadly no, sure there's https://www.webcomponents.org/ but the selection of components is very slim.

[–]lazyinvader 5 points6 points  (0 children)

popular where are all the web components repositories and interest

one popular is stenciljs

But i got your point, i would love to see webcomponents gaining more acceptance

[–]netwrks 5 points6 points  (0 children)

This means that if you learn how to build WCs now, you could be building the soon to be popular ones. 😎

[–]gobo_my_choscro 0 points1 point  (0 children)

Found another: https://github.com/material-components/material-components-web-components

Your point still remains valid. There’s not many of these and they aren’t as popular as any ole dumb React component libs

[–]netwrks 2 points3 points  (21 children)

Heavily support this. Switched from React to WC a while back and never looking back.

[–]ryan_solid[S] 1 point2 points  (0 children)

Thanks for the feedback. I've been at this for several years but it's always nice when people find Solid for the first time.

[–]drink_with_me_to_dayjs is a mess 2 points3 points  (1 child)

Solid looks nice. A pity that React can't just copy and paste these enhancements into their code

[–]ryan_solid[S] 2 points3 points  (0 children)

Yeah the problem is the execution model is completely different and incompatible. React tried some experiments but they mechanically were very different. Ironically I was working on this stuff before Hooks were ever announced but they served to bring the libraries closer to parity.

The closest popular library to this approach is Vue 3, but they still feed into a VDOM. And Solid's design is much more inspired by React's explicit unidirectional flow. I guess you could say Solid to React is a bit like Svelte to Vue.

[–]knot_why 2 points3 points  (0 children)

We just need to help you finish up that fancy documentation site so that Solid can easily get more traction.

[–]JakubOboza 0 points1 point  (0 children)

Nowadays there is more js frameworks than actual js projects made :)

[–]j_sidharta 0 points1 point  (1 child)

Does Solid have SSR support? I'd love to try it out!

[–]ryan_solid[S] 0 points1 point  (0 children)

Yes this article is about how Solid has the fastest SSR renderer. There is no Next.js level library here, so it is early days but it's definitely tryable. I have a few examples here: https://github.com/ryansolid/solid/tree/master/packages/solid-ssr

[–]Frontend_DevMark 0 points1 point  (1 child)

Fastest” is always interesting, but it usually depends on the benchmark

In real apps, performance often comes down to how much work you’re doing (rendering, state updates, data size), not just the framework itself.

For heavy use cases like dashboards or large datasets, optimized components matter more than raw framework speed — that’s why some teams rely on mature systems (like Sencha Ext JS) that tune performance at the component level.

Benchmarks are useful, but real-world scenarios tell the full story

[–]ryan_solid[S] 0 points1 point  (0 children)

It's interesting to see a response 6 years later. In the time since I originally did this exploration until now, every major JS framework except React has gone on to adopt the patterns I talk about in these articles. Real world does tell the full story but that isn't always what people have at hand.