waku
custom-elements-everywhere
waku | custom-elements-everywhere | |
---|---|---|
10 | 19 | |
4,016 | 1,151 | |
- | 1.4% | |
9.7 | 8.7 | |
1 day ago | 5 days ago | |
TypeScript | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
waku
-
React Server Components Example with Next.js
The moderators at Reactiflux pointed me toward Waku (also developed by Daishi Kato) as a potential alternative. However, Daishi explicitly recommends using the framework on non-production projects.
- Waku – The Minimal React Framework
-
Show HN: A live deployment of Waku RSC's examples
Waku (https://waku.gg/) is a new vite-based RSC framework with an emphasis on simplicity and developer experience. And Waku Land is a website I built to host each example from Waku's source code. It redeploys from Waku's main branch once every six hours.
-
The Current State of React Server Components: A Guide for the Perplexed
The other piece of important information to acknowledge here is that when we say RSCs need a framework, “framework” effectively just means “Next.js.” There are some smaller frameworks (like Waku) that support RSCs. There are also some larger and more established frameworks (like Redwood) that have plans to support RSCs or (like Gatsby) only support RSCs in beta. We will likely see this change once we get React 19 and RSCs are part of the Stable version. However, for now, Next.js is currently the only framework recommended in the official React docs that supports server components.
-
Streams and React Server Components
Many developers have used streams when building technology, but how many have truly understood their intricacies and their connection to React Server Components? Personally, the concept never quite clicked for me. It wasn't until contributing to Waku and being curious about how RSCs stream html—requiring me to take them seriously. Waku is a minimal layer over React Server Components using Vite.
-
Next.js 14
> Next.js is still the only actual implementation of RSC
Here's one https://github.com/dai-shi/waku. Also, Redwood is "all in on Server Components" https://tom.preston-werner.com/2023/05/30/redwoods-next-epoc....
- Waku: The Minimalist React Framework with Server Components
-
Am I the only one that thinks that the direction of React is wrong?
You can. You would just need to put in the work to go look at the (still entirely undocumented) React core library pieces of RSCs, and figure out how to integrate those into your bundler and router of choice. Other devs are already doing that, such as https://github.com/dai-shi/wakuwork
custom-elements-everywhere
-
Unlocking the frontend – a call for standardizing component APIs pt.2
With React (it seems) finally moving to support everything needed (they are the last major framework lagging behind substantially), too, we might be moving to a world post-framework discussions, and real interoperability on a technical level. I think Jake Lazaroff motivates this beautifully with his articles “Web Components Eliminate JavaScript Framework Lock-in” and “The Web Component Success Story”.
-
Use web components for what they’re good at
Seems it doesn’t work in React, everything is sent as a string. There was a link in the article that shows how well web components work with various frameworks.
https://custom-elements-everywhere.com/
You can see how React fares for itself.
-
If Web Components are so great, why am I not using them?
React supports Web Components, just some quirks to be aware of: https://custom-elements-everywhere.com/
-
[AskJS] Asking advice on monorepo setup with multiple frameworks
You could wrap each component as a Web Component and then import them for each repo. Web Components are not native to frameworks, so the support for them could vary when passing props. Or you could wrap the render method of each framework as a function and then use the receiving frameworks life cycle method and inject it onto the page. If you use frameworks like Svelte or Lit that are "Web Component" based, then you'd need to see if the receiving framework supports Web Components inorder to import the seamlessly.
-
Am I the only one that thinks that the direction of React is wrong?
Check compatibility of React with web components: https://custom-elements-everywhere.com/ It's not directly because of jsx, but because of synthetic "let's make it up" approach of React.
-
Regarding converting svelte file into pure js file
I have been using this approach recently as well, working great thus far ! Some things to consider though: - I would recommend checking if the other frameworks you intend to use have good web components support (looking at you, react): https://custom-elements-everywhere.com/ - There are ways to do so without web components, but I wouldn't recommend them unless your framework has poor web components support.
-
HTML with Superpowers: An Introduction to Web Components
VueJS actually fails some advanced tests for WebComponents: https://custom-elements-everywhere.com/
So, VueJS docs are actually incorrect when they say it scores 100%. The actual score is 90%.
I had reported this 8 months ago.
-
Building Web Components 101 - Part 1
Since Web Components are supported natively by browsers, they can be used in any libraries and frameworks either directly or with configurations. https://custom-elements-everywhere.com/ is a great site to check custom elements support status by different libraries and frameworks.
- Check if a library/framework supports the usage of custom elements
- custom-elements-everywhere.com: Check if a library/framework supports the usage of custom elements
What are some alternatives?
Next.js - The React Framework
stencil - A toolchain for building scalable, enterprise-ready component systems on top of TypeScript and Web Component standards. Stencil components can be distributed natively to React, Angular, Vue, and traditional web developers from a single, framework-agnostic codebase.
Next-JS-Landing-Page-Starter-Template - 🚀 Free NextJS Landing Page Template written in Tailwind CSS 3 and TypeScript ⚡️ Made with developer experience first: Next.js 14 + TypeScript + ESLint + Prettier + Husky + Lint-Staged + VSCode + Netlify + PostCSS + Tailwind CSS
details-dialog-element - A modal dialog that's opened with <details>.
hyperwave - 🌊 build rich, performant UIs with the best possible developer experience
hybrids - Extraordinary JavaScript UI framework with unique declarative and functional architecture
Next-JS-Landing-Page-Starter-Templ
feelback-integrations - Feelback SDKs, integrations libraries and samples
redwood - The App Framework for Startups
astro - The web framework for content-driven websites. ⭐️ Star to support our work!
next-auth - Authentication for the Web.
web-vitals - Essential metrics for a healthy site.