What is SolidStart?

A new documentation for SolidStart is underway here.

Web applications often comprise many components: databases, servers, front-ends, bundlers, data fetching/mutations, caching, and infrastructure. Orchestrating these components is challenging and often requires a large amount of shared state and redundant logic across the application stack.

Enter SolidStart: a meta-framework that provides the platform to put all of these pieces together in a one location.

Start is considered a meta-framework (a framework built on top of another framework) because, at its core, Start is powered by SolidJS. It uses Vinxi an agnostic Framework Bundler combining the power of Vite and Nitro.

Unlike other Metaframeworks SolidStart does not aim to be too opinionated. It provides the minimal amount of pieces to get you up and going. While there are templates that include many of the expected tools, SolidStart itself does not ship with a Router or Metadata library. Instead it leaves it open to using which ever libraries you feel comfortable with.

SolidStart enables you to render your application in different ways depending on what's best for your use case:

  • Client-side rendering (CSR)
  • Server-side rendering (SSR)
  • Streaming SSR
  • Static site generation (SSG)

If you're not familiar with these, that's okay! As we progress through these docs, we'll talk a bit about different ways to render your applications and help you choose the best fit.

One of the driving principles of SolidStart is that code should be isomorphic—you should be able to write code once, and it will run correctly regardless of whether it's being run on the client or server. As we move through the docs, we'll discover just how powerful isomorphism is!

Features

SolidStart touts the following feature set:

  • Fine-grained reactivity. Since SolidStart is a SolidJS meta-framework, it benefits from the fine-grained reactivity offered by SolidJS.
  • Isomorphic, nested routing. You write the same routes regardless of whether the page is rendered on the client or server. Route nesting provides parent-child relationships that simplify application logic.
  • Multiple rendering modes. SolidStart can be used to create CSR, SSR, streaming SSR, or SSG applications.
  • Command Line Interface (CLI) and templates. Get up and running quickly with starters.
  • Deployment presets. SolidStart provides presets to support deployment to your favorite platform—Netlify, Vercel, AWS, and Cloudflare, to name a few.

Prerequisites

We recommend that you know HTML, CSS, and JavaScript before digging in to SolidStart. Since SolidStart is a SolidJS meta-framework, we also recommend you know SolidJS prior to digging in to these docs (or at least take the SolidJS tutorial).

SolidStart is in Release Candidate!

We're very excited that you're checking out the SolidStart Release Candidate! Since SolidStart is in release candidate, you may find some bugs as you explore the framework. We would appreciate if you report these bugs to us using GitHub Issues.

Release candidate means that while we are happy with the current state of the APIs, we are still learning by working with all of you. There are still opportunities for improvement and some changes before we reach 1.0. Thank you all for your patience, and we hope you enjoy exploring what is possible with SolidStart.