- Daishi Kato's Read the Code
- Posts
- Why I Started Developing Waku—The Minimal React Framework
Why I Started Developing Waku—The Minimal React Framework
How Would We Develop a Library for React Server Components?
Hi,
Today, I’d like to share my original motivation for developing Waku. That motivation is still valid, although there's another aspect to it, which is outside the scope of this post.
I have been a React library developer. At some point, people started asking whether some of my libraries—such as Zustand and Jotai—could work with React Server Components (RSCs). I didn’t have an answer. There were some docs and articles about RSCs, and Next.js had the App Router. However, none of them helped when it came to designing libraries that work seamlessly with RSCs.
I had a vague idea that it would be a really nice developer experience if we could "read" client state in server components. I wanted to try out this idea, but as a library author, there were no good options. Next.js didn’t provide any low-level access, and it seemed clear that supporting such use cases wasn’t their focus.
I needed a way for libraries to access low-level methods and possibly extend basic capabilities. That’s why I started developing a React framework. It began as an experimental playground, but eventually evolved into a full framework.
Fast forward two years to today, the framework now allows me to experiment with that original idea. The idea has become concrete.
(For those interested, here’s one example: PR #1198)
That’s the story of how I became a framework developer, in addition to being a library developer.
Happy coding.
Reply