Chris Hamilton

pzuraq.com · Personal blog · on HN since 2019

Chris Hamilton, a developer on the Ember framework, writes about JavaScript framework design and reactivity systems like autotracking.

What HN saysHN commenters link it as background on how Ember's autotracking works; the author adds context on the design's history, and an Ember user praises Octane.
15HN people shared it
3linked it in comments
14stories submitted
382story points
1 year agolast shared
2019people per year2026

Most-shared posts

  1. 1
    Comparing Ember Octane and React
    4 people · 76 points · first shared 2020 · 53 comments on HN
  2. 2
    Four Eras of JavaScript Frameworks
    3 people · 291 points · first shared 2022 · 237 comments on HN
  3. 3
    What Makes a Good Reactive System?
    2 people · 9 points · first shared 2020 · 1 comments on HN
  4. 4
    Signal Relays
    2 people · 3 points · first shared 2024 · discussion on HN
  5. 5
    How Autotracking Works: Reactivity in JavaScript
    2 people · 1 points · first shared 2022 · discussion on HN
  6. 6
    What Makes a Good Reactive System?
    1 people · 1 points · first shared 2020 · discussion on HN
  7. 7
    How Autotracking Works
    1 people · 1 points · first shared 2020 · discussion on HN
  8. 8
  9. 9
    What is reactivity
    1 people · first shared 2022

What HN people wrote when they linked it

wycats · 2022-05-02
A little more context: I've been working on the design of this reactivity system in some form since roughly 2018 as part of the Ember framework. The original design of the reactivity system made its way into Ember Octane as the "auto-tracking" system, and was fairly exhaustively documented (as originally designed) by @pzuraq in his excellent series on reactivity[1]. He also gave a talk summarizing the ideas at EmberConf 2020[2] after Octane landed. Unfortunately, there's no good way to use the auto-tracking system without the Ember templating engine and all of the baggage that implies. But there's nothing about the reactivity system that is fundamentally tethered to Ember or its templating system in any way! For various practical reasons, Tom, Chirag and I had a need to build reusable chunks of reactive code[3] that work across many frameworks. We liked the foundation of the auto-tracking system enough to extract its ideas into a new library, decoupling the auto-tracking reactivity system from Ember. PS. In case you're wondering, I expect Ember to ultimately migrate to Starbeam, once it's in solid production shape and the dust is shaken off. [1]: https://www.pzuraq.com/blog/what-is-reactivity [2]: https://www.youtube.com/watch?v=HDBSU2HCLbU [3]: I would have called them "components", but that would make it seem like they have something to do with creating reactive output DOM, which is not what I mean.
rubyn00bie · 2019-12-21
Wow. I really didn't realize it was so close! I've just today finished up what took me away from my Ember project. Ember has been freakin' amazing to use, and Octane really, really, makes it shine. I love ember because it includes everything you need to manage state in your application, install and you're ready to go. I don't have to pick my view renderer, state/history management, storage system, networking stack etc... I also don't have to maintain the dependencies between them, like I would with something built using React. Ember also favors convention over configuration; which, I find to be a godsend when visiting the world of JavaScript. Yeah, it's a bit painful sometimes not knowing the convention, but that's just good ol' fashion learning. I also think the opposite, configuration, is incredibly painful in JavaScript, because the ecosystem moves so fast. The Ember team (and community) also have fixed, and continue to fix, a ton of issues from making module loading easier to better support of Typescript. I'd like to give a few getting started tips for anyone about to jump in (as I did the same a few months ago): * Glimmer templates give you nice HTML-esque looking components while separating the HTML from the JavaScript itself (which I like versus embedding it like JSX does) * Use the decorators. Seriously, they're awesome, they're a MUST if you use typescript. * Ember modifiers are really a big improvement over the previous hooks/lifecycle management. It's just…
patrickberkeley · 2022-05-13
Related and possibly helpful: * How Glimmer.js implemented autotracking: https://www.pzuraq.com/blog/how-autotracking-works * Discussion specifically on Lamport Clocks and autotracking: https://v5.chriskrycho.com/journal/autotracking-elegant-dx-via-cutting…

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