-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Server-Side Rendering (SSR) #931
Labels
enhancement
New feature or request
Comments
As a complement/alternative/easy first step, I would like to think about registering cell dimensions #933. |
Agreed! This would support very cool use cases, added a discussion as well: |
mbostock
changed the title
Support Server-Side Rendering (SSR)
Server-Side Rendering (SSR)
Mar 2, 2024
27 tasks
Maybe we should reopen this issue, which is mentioned in Line 114 in fa80489
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks for the great work on Framework!
For even faster (perceived) page loads it would be valuable to render initial views of charts and other content on the server, then "hydrate" them on the client once corresponding runtime cells are ready. For example, I'd like to publish static SVG as part of the initial page content, which can then be replaced with "live" content upon load.
I realize there be dragons here, especially with arbitrary code that may involve randomness, generators, or otherwise cause strange changes of content upon hydration, and so on. Nevertheless, I see a lot of value in being able to knowingly opt-in to SSR.
I imagine one would have to instantiate a runtime during server-side compilation then extract resulting content. We do something similar in Living Papers using Puppeteer to extract and screenshot runtime-generated content, though a lighter weight approach (e.g., using jsdom and node canvas?) may be preferable and cover common use cases.
It looks like some work in this direction is ongoing, though I'm not sure of the planned scope. So, just wanted to share a plug for this!
The text was updated successfully, but these errors were encountered: