New blog post: "Let’s learn how modern JavaScript frameworks work by building one" https://nolanlawson.com/2023/12/02/lets-learn-how-modern-javascript-frameworks-work-by-building-one/

Some step-by-step instructions on how to build a new JavaScript framework, if you're so inclined. Or just my way of learning how they all work!

Let’s learn how modern JavaScript frameworks work by building one

In my day job, I work on a JavaScript framework (LWC). And although I’ve been working on it for almost three years, I still feel like a dilettante. When I read about what’s going on in …

Read the Tea Leaves
@nolan oh fuck this is for me <333
@nolan I'm not sure I'd have the skills to have an applicable understanding but that's a genius approach of the subject. I'll try to read it 😀

@nolan I’ve spent the last couple months building my own view engine (yeah, I know, there’s a lot of them) and this post is an interesting comparison to what I’ve done.

I’m not using cloned templates and not sure if I’d get those performance benefits. But I’m also using TSX so I’m not starting with template strings either.

@nolan If you are curious about someone else’s crazy take in this space, and I would certainly appreciate early feedback: https://github.com/WorldMaker/butterfloat

RxJS dependency so it won’t win any awards for small bundle sizes as a view engine, but I think it makes up for it with rock solid reactivity (as someone concerned that Signals and the like leak too many concerns together).

Also I did some magic in the TSX types that I’m proud of. Think I beat React’s DX at a fraction of the labor to do it.

GitHub - WorldMaker/butterfloat: The greatest view engine for the modern web

The greatest view engine for the modern web. Contribute to WorldMaker/butterfloat development by creating an account on GitHub.

GitHub
@nolan this rules! I'm totally building a toy framework right now as well- always amazed at your ability to put all this tinkering into blog posts.
@potch Thank you! I had some fun tinkering with this, so I enjoyed blogging about the thought process. 🙂
@nolan aaaaand my attention has been diverted again.