declarative-shadow-dom
hypernova
declarative-shadow-dom | hypernova | |
---|---|---|
2 | 3 | |
189 | 5,832 | |
- | - | |
4.1 | 0.0 | |
about 1 month ago | 7 months ago | |
HTML | JavaScript | |
- | MIT License |
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.
declarative-shadow-dom
-
HTML with Superpowers: An Introduction to Web Components
Take a look at Declarative Shadow DOM: https://github.com/mfreed7/declarative-shadow-dom
-
Shoelace: A Web Component Kit
Hmm, I see that Chromium shipped their implementation a year ago now; I had missed that. Other than that, there’s been no real change in the situation in the last almost two years (since Shoelace 2.0 was released, the last time I examined the situation). And there still doesn’t look to be any real interest in actually implementing it outside of Google: Mozilla are unenthusiastic though not against it <https://mozilla.github.io/standards-positions/#declarative-s...>, and WebKit still find fault with some aspects of the design (https://lists.webkit.org/pipermail/webkit-dev/2021-February/..., https://github.com/mfreed7/declarative-shadow-dom/issues/9), though they’re content most of the earlier issues are ironed out.
So you certainly can’t rely on scriptless server-side rendering of Shadow DOM being possible—it’ll work in Chromium only, and it’ll probably be at least another year or two before other browsers even contemplate doing anything with it.
(And of course, even once Shadow DOM is serialisable, that’s a far shot from a particular frameworky thing being SSR-compatible, but I was quibbling over the Shadow DOM and impossibility aspects, so I shan’t step back on that.)
hypernova
-
Shoelace: A Web Component Kit
it's not quite impossible, there are some more "out there" server-side rendering approaches which would work:
- https://github.com/airbnb/hypernova
- https://github.com/prerender/prerender
Fans of efficiency and simplicity might recoil but if it works and is easy to setup, these far out approaches might just catch.
-
Django + React without the Nonsense
For more on this, you can check Airbnb's reasoning here: https://github.com/airbnb/hypernova
-
Micro Frontends Patters#12: Server Side Composition
Let's look at a example. The following figure shows an architecture using Hypernova for Micro Frontends.
What are some alternatives?
design-reviews - W3C specs and API reviews
react-server - :rocket: Blazing fast page load and seamless navigation.
ui5-webcomponents - UI5 Web Components - the enterprise-flavored sugar on top of native APIs! Build SAP Fiori user interfaces with the technology of your choice.
isomorphic-style-loader - CSS style loader for Webpack that is optimized for isomorphic (universal) web apps.
webcomponents - Web Components specifications
isomorphic-relay - Adds server side rendering support to React Relay
prerender - Node server that uses Headless Chrome to render a javascript-rendered page as HTML. To be used in conjunction with prerender middleware.
execa - Process execution for humans
custom-elements-everywhere - Custom Element + Framework Interoperability Tests.
webpack-isomorphic-tools - Server-side rendering for your Webpack-built applications (e.g. React)
WHATWG HTML Standard - HTML Standard
Rill - 🗺 Universal router for web applications.