So I’ve seen some confusion lately around Tanstack Start and SolidStart and want to clear this up as best I can.
As you may have noticed Tanstack Start now offers a Solid Router as well as its own Start metaframework using Solid.
First and foremost you should know that this was not done in isolation, and both teams have been in constant contact.
In order to make a decision, the first question you need to ask yourself is which router do you want to use.
Router
You have two options either the Tanstack Router or the Solid Router.
Why Tanstack Router
- Typesafe Routes
- Typesafe Search Params
- Loader Caching
- Virtual File Routes
- Scroll Restoration
- Devtools
- Tight integration with Tanstack Query
Why Solid Router
- Actions (action)
- Data Apis (query)
- Built-in optimistic ui primitives
- Preload Function
- Built in key-based invalidation
Start Metaframework
Once you have picked out the router you would like to use, you will need to pick the metaframework flavor to use.
Why Tanstack Start
"createServerFn"
style Server Functions- RPC + API Middleware
- Static Server Functions
- Runtime Input Validation / Type Safety for Server Functions
- Server Function Context
Why SolidStart
"use server"
style Server Functions`- Seroval
- Spa Mode
- Stable 1.0
- More sdks for Clerk, Sentry, SST, etc…
Setup
Now that you have a picture of what the different options are you have a few permutations you can go with.
Solid Router
Tanstack Router
Conclusion
Will you be trying out the new Tanstack Solid Router or stick with the original Solid Router?