This is Learning

dev.to/this-is-learning · Group blog · on HN since 2021

This is Learning is a dev.to community publishing web developers' articles on JavaScript frameworks, signals, reactivity, and cross-platform apps.

What HN saysHN commenters cite it for its post arguing React isn't reactive and why that doesn't matter, and for its signals and framework comparisons.
18HN people shared it
15linked it in comments
3stories submitted
10story points
1 year agolast shared
2021people per year2026

Most-shared posts

  1. 1
    The evolution of signals in javascript 8ob
    5 people · first shared 2023
  2. 2
  3. 3
    Components Are Pure Overhead
    3 people · 7 points · first shared 2021 · discussion on HN
  4. 4
    React vs signals 10 years later 3k71
    2 people · first shared 2023
  5. 5
    Marko for sites solid for apps 2c7d
    2 people · first shared 2023
  6. 6
    JavaScript vs. JavaScript: Round 2. Fight
    1 people · 3 points · first shared 2021 · discussion on HN
  7. 7
    The cost of consistency in ui frameworks 4agi
    1 people · first shared 2023
  8. 8
  9. 9
    Thinking locally with signals 3b7h
    1 people · first shared 2025
  10. 10
  11. 11
    Making the case for signals in javascript 4c7i
    1 people · first shared 2023
  12. 12
    Conquering javascript hydration a9f
    1 people · first shared 2022

What HN people wrote when they linked it

ryansolid · 2025-04-23
Thank you for correcting this. I was going to come and respond when I saw this earlier but hadn't had a chance. Yes the annoying part is not being able to destructure but you definitely don't have to (and it isn't our recommendation) to pass accessor functions down as props. I wrote an article on our perspective here: https://dev.to/this-is-learning/thinking-locally-with-signals-3b7h
jazzypants · 2024-10-01
React is not "reactive" according to the classic definition, but even the creator of Solid.js thinks that doesn't really matter. https://dev.to/this-is-learning/how-react-isn-t-reactive-and-why-you-s…
richeyryan · 2022-01-05
One thing to be very mindful of is that is a very limited application. The footprint of the various frameworks changes based on how big your application gets as shown here[1]. Swyx, I think you are probably aware of Ryan's article but it's worth contextualising for others who might not be familiar. The more components you have the more Svelte loses its edge. [1]https://dev.to/this-is-learning/javascript-framework-todomvc-size-comp…
dmitriid · 2023-01-11
> At least it shows that the technology is both scalable and battle-tested. So are all other technologies used on the web sites. It still doesn't make it good. You keep pretending that if something is used somewhere means it's good. > It's legacy, as I think we will both agree. Just as jQuery is, and just as React will become sooner or later. So what? Neither of these technologies have the laundry list of issues that web components have. And jQuery is still used on significantly more sites than React and Web Components combined. I'd bet on survival of jQuery more than on survival of Web Components. > Meanwhile, web components are the browser standard, which means that they are a model of UI code encapsulation that is here to stay. Unfortunately, yes. They are here to stay: a badly designed, barely working technology that needs increasingly complex and arcane hacks to make up for its deficiencies, sucking up human resources and making browser engines incomprehensibly complex. Oh, and they also infect other standards that have to cater to them now. E.g. Scoped CSS covers 80-90% of use cases WCs are used for, but now it has to be butchered to accommodate Shadow DOM. But yeah. It's here to stay. As Rich Harris, the author of Svelte said, "it's almost as if congealing 2010-era best practices in the platform before we'd finished exploring this territory was a mistake" [1] There's a reason why very few, if any, of the major frameworks, and very few of up-and-coming web…
DonHopkins · 2021-11-12
Another way of stating it is that Svelte doesn't attempt to plug any of the leaky abstractions that already existed in JavaScript. JavaScript is riddled with huge footguns that aren't even exotic use cases, and if you remove or paper over them, then it's not JavaScript any more. While React's biggest most obvious leaky abstraction is that React isn't actually reactive. Neither is Svelte, but at least Svelte doesn't have the audacity to falsly CLAIM it's reactive in ITS OWN NAME, like React does! I do give Svelte credit for being quite self-referentially svelte, though! And that's something great that React definitely isn't. How React isn't reactive, and why you shouldn't care https://dev.to/this-is-learning/how-react-isn-t-reactive-and-why-you-s… >[...] Is React not reactive? >Well, let's see about that. React components are driven off state, and setState calls are sort of like data events. And React's Hooks and JSX are basically declarative. So what's the issue here? >Well actually very little. There is only one key difference, React decouples the data events from component updates. In the middle, it has a scheduler. You may setState a dozen times but React takes notice of which components have been scheduled to update and doesn't bother doing so until it is ready. >But all of this is a type of buffering. Not only is the queue filled by the state update event, but the scheduling of processing that queue is as well. React isn't sitting there with…
GolDDranks · 2025-04-23
At some point, the creator of SolidJS, Ryan Carniato did a stint helping developing Marko.js, a fine-grained reactive / compiled / a bit HTMX-like system, and blogged about that. It's a framework that originated from eBay. I'm now quite interested about the next version of Marko.js, Marko.js 6, and I'm gonna try it for my new project. I'm interested in fine-graned reactivity so Svelte and SolidJS have been on my radar, but the HTMX-style approach appeals to me. Here's something to munch on: https://dev.to/ryansolid/marko-compiling-fine-grained-reactivity-4lk4 https://dev.to/this-is-learning/marko-for-sites-solid-for-apps-2c7d https://www.youtube.com/watch?v=Z1dd09rxny4
sudodevnull · 2025-04-11
Alien, Reactively, TC39 are all about the core semantics of signal, computed, effect. Much of the rest is implementation details. https://dev.to/this-is-learning/the-evolution-of-signals-in-javascript… is a good intro.
Leftium · 2024-04-19
Maybe SignalDB?: https://signaldb.js.org/core-concepts/#signals-and-reactivity I swear I read that MeteorJS and/or MongoDB implemented signals for the DB layer. While searching for the source, I found SignalDB. --- edit: Found the source: https://dev.to/this-is-learning/the-evolution-of-signals-in-javascript… > ...Meteor Tracker is a good prior art on signals and effects history in JS (although not using the same terminology). The really magical thing about Meteor is that their "signals" and "effects" are database connected: you use variables in your frontend template, and those values can come directly from a backend DB...
Fatalist_ma · 2024-03-31
There is an interesting debate about React and signals in the comments of this article, between Dan Abramov and Ryan Carniato - https://dev.to/this-is-learning/react-vs-signals-10-years-later-3k71
anileated · 2023-01-31
Per some tests as of last year[0], Marko[1] is much more performant than Svelte, which matters a lot for UX and for page rankings (especially in case of more complex sites). I’d expect Qwik to be faster than any of the above, but it seems not quite production-ready enough. [0] https://dev.to/this-is-learning/marko-for-sites-solid-for-apps-2c7d [1] In the Reddit the author mentions that, despite focusing on Solid+Astro in the article, Marko is actually still more performant than those: https://www.reddit.com/r/javascript/comments/ubs6i9/marko_for_sites_so…
redbar0n · 2022-12-14
> ... so you have true cross platform apps(from desktop to android and ios), it's the only way to achieve that. There are many other viable ways for creating a cross-platform app: https://dev.to/this-is-learning/the-different-strategies-to-building-a…
alserio · 2022-04-19
As a developer I like doing CSR apps. As an user I like when my sites are SSRed. There are people who are trying to bridge the gap. https://dev.to/ryansolid/server-rendering-in-javascript-why-ssr-3i94 https://dev.to/this-is-learning/conquering-javascript-hydration-a9f
eyelidlessness · 2022-04-10
Others are right to point out that this isn’t a problem with reactivity. But there’s an even more important correction here: React, perhaps in spite of its name, isn’t actually (fully) reactive. And while that’s sort of an academic nuance[1], it’s the underlying reason for implementing things like this. 1: https://dev.to/this-is-learning/how-react-isn-t-reactive-and-why-you-s…
n2d4 · 2023-12-04
I like the article, but it gets some things subtly wrong. > To grossly oversimplify things: React assumes that your entire virtual DOM tree needs to be rebuilt from scratch, and the only way to prevent these updates is to implement useMemo Not quite, on a state update, it rebuilds the component that was updated and all of its children. Not the entire virtual DOM; old versions of Angular did this, but it was wasteful. useMemo doesn't prevent that, but React.memo can (useMemo has a different role; it lets you choose when to recompute or recreate a normal JavaScript object. But on its own it won't stop rerendering of child components!) [0] This invalidates some of their assumptions. The reason why React isn't "push-only" isn't because it does that, it's because it sometimes buffers updates instead of always pushing them immediately. In fact, other frameworks like Svelte also aren't "push-only" and hence not strictly reactive! (Funnily enough, OP uses an article as a source that explains this correctly [1], but it seems they took the wrong lesson from it). The reason why signals are so cool is because the framework knows for any given state change which exact attributes in the DOM need to be re-rendered, even more specifically than "the element and all its children". But this neither implies reactivity nor the other way around. The two concepts are orthogonal. Anyways, kudos to the author for diving into this so deeply! [0] useMemo is useful in combination with React.memo…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close