TanStack Start erreicht v1 Release Candidate und bietet eine überzeugende Alternative zu Next.js – mit voller Kontrolle, Vite-Power und typensicheren Server Functions.
Einleitung
Im September 2025 erreichte TanStack Start den v1 Release Candidate – ein Meilenstein für das Framework, das von Tanner Linsley und dem TanStack-Team entwickelt wird. Aufbauend auf den bewährten Bibliotheken TanStack Router und TanStack Query, bietet TanStack Start eine durchgehend typensichere Fullstack-Architektur, die auf Vite und Nitro basiert.
Was TanStack Start von anderen Frameworks unterscheidet: Entwickler behalten die volle Kontrolle. Keine versteckte Magie, keine erzwungenen Konventionen. Stattdessen explizite APIs, durchgängige TypeScript-Integration und die Freiheit, jeden Teil des Stacks nach eigenen Vorstellungen zu konfigurieren.
Moderne Architektur mit TanStack-Komponenten
TanStack Router
Der Kern des Frameworks ist der @tanstack/router, ein typensicherer, deklarativer Router, der komplett in TypeScript geschrieben ist. Er bietet:
- Nested Routing
- Loader und Actions
- Automatische Typvererbung für Routen, Parameter und Daten
- SSR-Fähigkeit (Server Side Rendering)
- UI-agnostisches Design (nicht auf React beschränkt, aber gut integriert)
TanStack Query
Mit @tanstack/react-query (vormals React Query) setzt das Framework auf ein bewährtes Daten-Management-System:
- Caching und Hintergrundaktualisierung
- Server-State-Synchronisation
- Optimistic Updates & Error Recovery
- Ideal für APIs, die häufig gelesen und aktualisiert werden
Vite & Nitro als Fundament
TanStack Start basiert auf Vite für das Build-System und Nitro (vom UnJS/Nuxt-Team) als Server-Layer. Diese Kombination bietet entscheidende Vorteile:
- Schnelle Entwicklung: Vites Hot Module Replacement sorgt für sofortiges Feedback
- Deployment-Flexibilität: Nitro ermöglicht Deployment auf Vercel, Cloudflare, AWS Lambda, Bun oder klassischen Node.js-Servern – ohne Adapter-Konfiguration
- Kein Vendor Lock-in: Anders als Next.js (eng mit Vercel verbunden) läuft TanStack Start überall
Server Functions: Typensichere RPCs
Das Herzstück von TanStack Start sind die Server Functions – typensichere Remote Procedure Calls zwischen Client und Server:
import { createServerFn } from '@tanstack/react-start'
// Server Function definieren
const getUsers = createServerFn().handler(async () => {
return await db.users.findMany()
})
// Im Client aufrufen – vollständig typisiert
const users = await getUsers()
Für Mutationen mit Input-Validierung:
import { createServerFn } from '@tanstack/react-start'
import { z } from 'zod'
const createUser = createServerFn({ method: 'POST' })
.validator(z.object({
name: z.string().min(2),
email: z.string().email(),
}))
.handler(async ({ data }) => {
return await db.users.create({ data })
})
Der Vorteil gegenüber klassischen API-Routes: Die Typen fließen automatisch vom Server zum Client. Keine manuellen Type-Definitionen, keine Diskrepanzen zwischen Frontend und Backend.
Fullstack-Architektur
TanStack Start ist ein vollwertiges Fullstack-Framework:
- Frontend: React oder SolidJS (beide offiziell unterstützt)
- Server: SSR, Streaming und Server Functions out of the box
- Shared Types: Eine Codebasis, durchgängige Typsicherheit
- Routing: File-based oder programmatisch – mit voller IDE-Unterstützung
Die Architektur eignet sich besonders für:
- Komplexe SPAs mit viel Client-Interaktion
- SSR-Anwendungen mit SEO-Anforderungen
- Projekte mit geteilter Datenlogik zwischen Client und Server
Aktuelle Einschränkungen
React Server Components (RSC): TanStack Start unterstützt RSC aktuell nicht. Das bedeutet, dass der gesamte Code zum Client gebündelt wird – auch statische Teile. Das TanStack-Team arbeitet aktiv an RSC-Integration, die als v1.x Update kommen soll.
Für Projekte, bei denen Bundle-Größe kritisch ist oder die stark auf RSC setzen, bleibt Next.js vorerst die bessere Wahl.
Vergleich: TanStack Start vs. Next.js vs. Remix
| Kriterium | TanStack Start | Next.js | Remix (React Router v7) |
|---|---|---|---|
| Typensicherheit | End-to-end, automatisch | Teilweise, manuell ergänzt | Teilweise, manuell ergänzt |
| Routing | File-based + programmatisch, typisiert | File-based (App Router) | File-based, Forms-first |
| Server Functions | createServerFn mit Validierung | Server Actions | Actions & Loaders |
| React Server Components | Noch nicht (geplant) | Voll unterstützt | Experimentell |
| Build-Tool | Vite | Turbopack/Webpack | Vite |
| Deployment | Überall (Nitro) | Optimiert für Vercel | Überall |
| Bundle-Größe | Größer (kein RSC) | Kleiner mit RSC | ~35% kleiner als Next.js |
| Lernkurve | Moderat | Steil (viele Konzepte) | Flach |
| Kontrolle | Maximal | Framework-geführt | Ausgewogen |
| IDE-Support | Exzellent (Autocomplete für Routes) | Gut | Gut |
Schnellstart
Ein neues TanStack Start Projekt ist in Sekunden aufgesetzt:
npm create @tanstack/start@latest
Der CLI-Wizard führt durch die Konfiguration und bietet Optionen für Tailwind, ESLint und weitere Tools.
Für wen eignet sich TanStack Start?
Gut geeignet für:
- Teams, die maximale Kontrolle über ihren Stack wollen
- Projekte mit komplexer Client-Logik und viel Interaktivität
- Entwickler, die TanStack Router oder TanStack Query bereits kennen
- Anwendungen, die auf verschiedenen Plattformen deployt werden sollen
Weniger geeignet für:
- Content-lastige Websites, bei denen Bundle-Größe kritisch ist
- Teams, die auf React Server Components setzen
- Projekte, die ein “batteries-included” Framework bevorzugen
Ausblick
Mit dem v1 Release Candidate hat TanStack Start bewiesen, dass es eine ernstzunehmende Alternative im React-Ökosystem ist. Die Kombination aus durchgängiger Typsicherheit, Vite-Performance und Deployment-Flexibilität trifft einen Nerv bei Entwicklern, die mehr Kontrolle wollen.
Die kommende RSC-Integration wird die letzte größere Lücke zu Next.js schließen. Für Teams, die heute starten, bietet TanStack Start bereits eine produktionsreife Grundlage – mit der Gewissheit, dass das Framework aktiv weiterentwickelt wird.