← Back to context

Comment by CharlieDigital

1 day ago

    >  and then I realized that I was basically trying to reinvent some of Knockout, but with TSX templates.

You may like Vue with TSX.

https://vuejs.org/guide/extras/render-function.html#jsx-tsx

React's reactivity model is "inverted" from almost every other model out there. Vue, to me, feels the most like Knockout. I also find that I rarely run into edge cases compared to React and Vue feels the most like OG HTML.

I did investigate Vue with TSX at one point. It wasn't for me, but I did like Vue with TSX over Vue's primary template language.

A part of the way I see it is that Knockout promised "Observables" and `computed` was sort of the distracting fork away from something like RxJS Observables. Now that fork seems to be named "Signals". I'm not a fan of "Signals" and think they miss a lot of the power and elegance of "real" Observables like RxJS. I understand the appeal of the "magic" of `computed` tools. I better appreciate the power of the larger toolbox of RxJS operators. (I also think Observables are a lot easier to unit test than `computed`. A good "marble test" is a thing of beauty.)

For what it is worth, my RxJS-based solution: https://github.com/WorldMaker/butterfloat