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

docs: add new project types page #13444

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open

docs: add new project types page #13444

wants to merge 11 commits into from

Conversation

benmccann
Copy link
Member

This seems to be the area where I most frequently see new comers having difficulty. A standalone page with more details may be in order as I think the FAQ is not helping enough

@benmccann benmccann added the documentation Improvements or additions to documentation label Feb 11, 2025
@svelte-docs-bot
Copy link


By default, when a user visits a site, SvelteKit will render the first page with server-side rendering and subsequent pages with client-side rendering. Using SSR for the initial render improves SEO and perceived performance of the initial page load. Client-side rendering then takes over and updates the page without having to rerender common components which is typically faster and eliminates a flash when navigating between pages.

## Static site generator (SSG)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It bothers me that the format of these headers is different...

Should it be:

  • Default: Hybrid rendering
  • Static site generation (SSG)
  • Single-page app (SPA)
    ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even that doesn't feel quite right, struggling with how to align them

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what you mean that the format is different? Like you think they all need to end in "app"? The only one that feels a bit different from the rest to me is "Backend in another language", but I'm not sure how else to write that and think it's worth keeping given how many people want to do that and run into it

In order to support SSR, a JS backend — such as Node.js or Deno-based server, serverless function, or edge function — is required.

It is also possible to write custom adapters or leverage community adapters to deploy SvelteKit to more platforms such as specialized server environments, browser extensions, or native applications. See [integrations](./integrations) for more examples and integrations.
See [the documentation regarding project types] for more details.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incomplete link

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>
Copy link

changeset-bot bot commented Feb 13, 2025

⚠️ No Changeset found

Latest commit: b7e96aa

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Co-authored-by: Elliott Johnson <sejohnson@torchcloudconsulting.com>
Copy link
Contributor

@theetrain theetrain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glad to see this FAQ section become a dedicated page. Maybe as a follow-up we can work on diagrams for 'transitional apps', BFF architectures, and other common asks.

@SteveALee
Copy link

This definitely helps. Maybe define terms such as SPA?

My problem before was there are many architectural options and getting what concepts the team have in mind was not easy. This does help address that.

For example here's the architectural options I'm aware of and I tried to fit terms like CSR and SSR into that model.

Server pages (routes) and RESTful endpoints such as APIs

  • static (SSG)
  • static built on demand
  • generated on demand (n-tier, user content)

Edge

  • none
  • static (CDN)
  • enhanced (eg localisation)
  • generated ?

Client

  • thin (HTML + CSS)
  • JS enhanced
  • JS rendered (with data embed in page, fetched, sockets, streams etc)
  • JS rendered with routing simulation (SPA)
  • hybrid (Island, SPA + HTML docs)

benmccann and others added 2 commits February 17, 2025 15:32
Co-authored-by: Enrico Sacchetti <enrico@theetrain.ca>
Co-authored-by: Enrico Sacchetti <enrico@theetrain.ca>
@sacrosanctic
Copy link
Contributor

Any consideration on reusing terms from this page
https://web.dev/articles/rendering-on-the-web#conclusion

Or a graph like this one to outline how the options map to each?
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants