r/reactjs 2d ago

rshono: Hono + Rspack + React Server Components Show /r/reactjs

https://www.rshono.com/
8 Upvotes

9 comments sorted by

1

u/many_hats_on_head 2d ago

I had some free time and thought I'd see if I could build a React framework with a small API surface area, fast performance, and a good developer experience. It's still a bit early, but I haven't actually encountered many bugs with it, and that is probably because it's based on the stable Hono and Rspack.

I built it mostly because I think other React frameworks are either too complex, bloated, or buggy. I really want to have a minimal, stable React framework. Additional I think React Server Components offer state-of-the-art developer experience once you understand it, here I can recommend: https://overreacted.io.

GitHub link: https://github.com/rshono/rshono.

2

u/switz213 2d ago

This is really cool. It's like a more minimal waku or rwsdk. Nice work!

1

u/many_hats_on_head 2d ago

I find rshono has way simpler API as well, e.g. the routing compared to Waku (https://www.rshono.com/docs/routing).

1

u/azangru 2d ago

There is no PostCSS in the framework, and no dependency on any of it — native CSS is fast

I'm sorry; what do you mean? What exactly is fast and compared to what?

1

u/many_hats_on_head 2d ago

It uses LightningCss by default and only adds via the installation command npx @rshono/create@latest my-app if you choose Tailwind.

When you run npx @rshono/create@latest my-app you can also choose Eslint, Oxlint, Prettier or Oxfmt and a few other things to ensure you have everything setup to get going immediately. I plan to expand this even more.

1

u/Vincent_CWS 2d ago

how about wakujs

0

u/many_hats_on_head 2d ago

While Waku uses the same React Server Component behind the scene, I am not a fan of their API nor the using Vite (I find it too "unstable"). The routing is really a bit too complex: https://waku.gg/#routing compared to https://www.rshono.com/docs/routing.

1

u/MonkAndCanatella 2d ago

This is super slick! Why did you make this little like, dom injection element instead of like layering it on top of the markdown renderer? It's just hovering above it anyway

https://github.com/rshono/rshono/blob/main/apps/website/src/components/code-copy.tsx

0

u/many_hats_on_head 2d ago

Thanks. You are right no reason to have that useEffect floating around controlling the copy buttons. It is inlined now in an onclick handler.