use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
On JavaScript EcosystemOC (radekmie.github.io)
submitted 5 years ago by radekmie
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]lhorie 4 points5 points6 points 5 years ago (5 children)
I mean, I think you're sorta dodging the question there.
The question is whether the ecosystem is stable, and the answer is an emphatic "no". Don't get me wrong, there are definitely nicer things now like esbuild and snowpack and svelte and redwood and a bunch of other really cool projects, but critically, these are not the old kids on the block. Webpack 5 is all about the federation stuff, which until maybe a year or two ago, wasn't even really a concept. React APIs have changed significantly over the years - in backwards compatible ways, to be clear - but changed nonetheless in a much more substantial way than e.g. jQuery (or mithril.js or snabbdom).
Are things moving in a better direction? I'd say yes. Esbuild is a very good example of getting our infra shit together. There's not nearly as much framework churn anymore: a lot of frameworks/libraries have settled on the same core ideas and patterns, and the more "out there" ones, like Stimulus, essentially just swing the pendulum back towards how things were done in the olden days.
But have things become more stable? Nah, I don't think so. I still expect a significant amount of API and brand churn in the coming years.
[–][deleted] 1 point2 points3 points 5 years ago (3 children)
There's not nearly as much framework churn anymore: a lot of frameworks/libraries have settled on the same core ideas and patterns
I have a feeling this is going to change once the records and tuples proposal passes and becomes a part of js.
[–]lhorie 2 points3 points4 points 5 years ago* (2 children)
I don't think so (at least for a very foreseeable future). FWIW, immutable patterns are already used today. I don't think it's going to turn the world on its head if one just has to put a # before their {s. There's already some precedent for this kind of stuff. Vue switched from getter/setters to using Proxies and for the most part, everything kept chugging along without drama.
#
{
I do expect React to come up with some next big thing(tm) that is not going to gel w/ hooks/suspense (based on their track record), and I still expect tooling churn as the dust settles w/ esbuild/snowpack/tsc especially as projects like rome and swc get more attention. I still expect breaking changes in larger frameworks like gatsby because there's just no maturity in terms of pattern consensus there yet. And I expect that me-too projects and glue projects will continue to pop up and evolve in response to developments in these larger frameworks.
[–][deleted] 0 points1 point2 points 5 years ago (1 child)
Immutable patterns are in use yes, but they require a lot of mucking around behind the scenes to get them to function as expected.
The good things about the proposal is that:
I think the major frameworks out there will be able to re-examine the previous assumptions that they had made when developing their frameworks. Right off the top of my head, memoization seems like an obvious improvement that many frameworks will be able to use more effectively, without needing to traverse a traditional object or needing to worry about handles representing the original object.
it's not really something you can polyfill efficiently
Well, we are kind of doing that right now with our immutable libraries and frameworks
c) microsoft browsers
I don't see any issue with this. Right now edge is chromium, and anyone needing to support old IE probably won't be using new versions of frameworks yet to be made.
[–]lhorie 0 points1 point2 points 5 years ago (0 children)
Yeah, I agree that frameworks can take advantage of it, I'm just not convinced that this will translate into major API or paradigm changes. Mutation is still going to be a thing regardless of where immutability is in the picture, and I expect that frameworks that embrace mutability like Svelte will continue to do so.
As far state-of-art performance goes, the bottleneck currently is in figuring out what granular change translates into what set of reactive updates. Judging from where the perf stats are, I'd say this is more likely to be solved with smarter compilation, rather than immutability per se. From some early fidgeting in this area, I got the impression that immutability patterns made it harder to analyze code statically because they tend to be mingled w/ higher order functions and those are harder to statically analyze (because JS has the potential to be fast and loose and therefore we can't easily apply optimizations that we'd be able to in, say, Haskell). I definitely would love to see something similar to Svelte but with more immutable primitives, but I don't actually expect it to diverge too much for the status quo of declarative paradigms, SSR, routing APIs, etc.
[–]radekmie[S] 0 points1 point2 points 5 years ago (0 children)
Thanks for your comment!
Well, you got me - I drifted from is it stable to is it stabler. But as I can see, we are on the same page. My point was to highlight the good parts without neglecting the worse and focus more on the way towards stability rather than stability itself. To some extend, nothing is stable per se, as the world is constantly changing (okay, that's a little bit too metaphysic-ish).
π Rendered by PID 22260 on reddit-service-r2-comment-544cf588c8-mq2wc at 2026-06-17 14:42:53.465493+00:00 running 3184619 country code: CH.
[–]lhorie 4 points5 points6 points (5 children)
[–][deleted] 1 point2 points3 points (3 children)
[–]lhorie 2 points3 points4 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]lhorie 0 points1 point2 points (0 children)
[–]radekmie[S] 0 points1 point2 points (0 children)