Skip to content
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) #6

Open
exastencil opened this issue Mar 17, 2024 · 0 comments
Open

Server-side Rendering (SSR) #6

exastencil opened this issue Mar 17, 2024 · 0 comments
Assignees
Labels
core A core feature new Something that needs to be built from scratch
Milestone

Comments

@exastencil
Copy link
Owner

exastencil commented Mar 17, 2024

Given a set of components, the engine must at the very least be able to render them into an HTML document that the web server can serve.

This is one of the core features needed to make Porous feasible.

This feature integrates with the Page/Component API and the Router to determine which component to render, but in the absence of multiple pages it should also just work without specifying a route. Since a feasible SSR app may still need client-side interaction, but not want full client-side rendering (CSR), there should be a mechanism to facilitate this.

Since a goal of the project is not to mix Ruby and JavaScript, and since params and props are instance variables, it seems logical to send through behavior as text/ruby scripts and have Opal or a WebAssembly-based Ruby handle it. However, it may be tricky to isolate this code, and switching to CSR for interactivity may be the simpler (and thus better) option.

@exastencil exastencil added core A core feature new Something that needs to be built from scratch labels Mar 17, 2024
@exastencil exastencil added this to the v1.0 milestone Mar 17, 2024
@exastencil exastencil self-assigned this Mar 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core A core feature new Something that needs to be built from scratch
Projects
None yet
Development

No branches or pull requests

1 participant