TanStack Start: A New Meta-Framework for React and SolidJS Reaches Release Candidate

Web Development

TanStack Start, a new full-stack meta-framework for React and Solid, has reached release candidate status. It offers production-ready server-side rendering, streaming, type-safe APIs, and universal deployment, presenting a compelling alternative to established frameworks like Next.js and Remix.

TanStack Start, a new full-stack meta-framework built upon TanStack Router and Vite, supporting React and Solid, has reached release candidate status. This milestone introduces production-ready features such as server-side rendering (SSR), streaming hydration, server functions, and type-safe APIs. It positions TanStack Start as a compelling alternative to established meta-frameworks like Next.js and Remix.

The release candidate highlights three key aspects: type-safe routing and APIs, streaming-enabled server-side rendering, and universal deployment flexibility. TanStack Start leverages the fully inferred typing system from its underlying router, extending it to server routes and loader functions. This ensures consistent type definitions across navigation and data loading. Its streaming SSR model facilitates immediate HTML delivery to the client, followed by interactive hydration, effectively bridging the gap between client and server rendering.

Designed for universal deployment, TanStack Start supports various environments including Cloudflare Workers, Netlify, Vercel, and any Node.js/Bun target. This broad compatibility is achieved through its custom Vite plugin and modern bundling strategy.

The framework's routing and data-loading model is exemplified by the following code:

import { createFileRoute } from '@tanstack/react-router'
import { createServerFn } from '@tanstack/react-start'

export const getTodos = createServerFn({ method: 'GET' }).handler(async () => {
   return fetch('/api/todos').then(r => r.json())
})

export const Route = createFileRoute('/task-list')({
  loader: getTodos,
  component: TaskList,
})

function TaskList() {
   // ... Example Component
}

This code illustrates the seamless integration of createServerFn for server functions and file-based route definitions into a single, cohesive API. Further examples are available on the TanStack Start GitHub repository.

Community reception has been largely optimistic, often drawing comparisons to existing frameworks. A detailed mobile performance comparison across ten different frameworks highlighted TanStack Start's superior performance, particularly regarding bundle size and other key metrics, when compared to alternatives like Next.js.

John Resig, creator of jQuery, shared his positive experience on X (formerly Twitter), stating: "I've been using Tanstack Start for a new project and it's super good. The server functions completely replace the need for TRPC/GraphQL/REST, the middleware is composable and fully typed, and having TSRouter's nice typing and stateful search params is icing on the cake. A+!"

The enthusiasm for TanStack Start extends to various online forums, including a notable Reddit thread where developers are discussing its potential as a Next.js replacement. One user reported already deploying it in production for a complex project.

For migration and tooling alignment, TanStack Start offers incremental integration. Existing applications built with TanStack Router or TanStack Query can progressively adopt Start’s server-function and SSR capabilities with minimal disruption. The maintainers highlight that Start enhances the Router's functionality rather than replacing it, simplifying adoption for development teams.

A dedicated migration guide is provided for developers transitioning from Next.js.

TanStack Start is an open-source, full-stack framework built on TanStack Router and Vite, tailored for React and Solid applications requiring SSR, streaming, type-safe routing, and universal deployment. The release candidate signifies TanStack's expansion from client-side routing to comprehensive application stacks, presenting a strong alternative to more opinionated meta-frameworks, especially for teams prioritizing type safety and granular control.