← Semua picks

Stack Comparison Conditional

Next.js 15 vs Astro 6 vs TanStack Start

Tiga framework full-stack TS dengan filosofi beda. Saya pakai Next.js 15 di 4 project, Astro 6 di 3 project, TanStack Start di 2 project sejak rilis stable. Verdict tergantung shape project.

2 Juni 2026 · 10 menit ·Use case: Framework pilihan SaaS Indonesia 2026
Next.js 15Astro 6TanStack Start

TL;DR

  • Next.js 15: Ekosistem terbesar, App Router + RSC matang. Conditional Recommend untuk SaaS multi-tenant.
  • Astro 6: Content-first, Islands Architecture, build paling cepat. Conditional Recommend untuk marketing + content site.
  • TanStack Start: SSR + client-state unified, powerful untuk app data-heavy. Conditional Recommend untuk dashboard kompleks.
  • Verdict: pilih berdasarkan shape project — content (Astro), full SaaS (Next.js), atau app interaktif (TanStack Start).

Konteks

Saya pakai ketiga framework di 9 project SMB Indonesia 2024-2026:

  • Next.js 15 (App Router): 4 project — SaaS dental Jakarta, marketing site klien, ecommerce klinik kecantikan, admin panel HR
  • Astro 6: 3 project — portfolio fotografer Tangerang, landing klinik dental, blog tech personal
  • TanStack Start: 2 project — internal dashboard SaaS HR, admin panel ecommerce warung scale

Total 18 bulan compare apple-to-apple. Stack pendamping: Drizzle atau Prisma, Postgres (Neon/Supabase), Cloudflare/Vercel deploy.

Pricing (Juni 2026)

Framework sendiri gratis (open-source). Tapi hosting bedanya signifikan:

Next.js 15

  • Vercel Hobby: free (limit 100GB bandwidth)
  • Vercel Pro: $20/user/bulan = Rp 320rb/user
  • Cloudflare Pages (via @cloudflare/next-on-pages): free tier generous, $5/bulan untuk Workers

Astro 6

  • Cloudflare Pages: free hingga 100K request/hari
  • Vercel Hobby: free
  • Netlify: free hingga 100GB bandwidth

TanStack Start

  • Cloudflare Workers: $5/bulan untuk paid
  • Vercel: $20/bulan
  • Bun/Node.js server di VPS Niagahoster: Rp 60-150rb/bulan

Untuk SaaS Indonesia 2026 dengan 50K MAU: total hosting Rp 0-640rb/bulan tergantung framework + provider.

Performance comparison

Build same project (5 page marketing + 3 blog post + 2 dashboard view):

FrameworkCold buildBundle size clientPage Lighthouse (mobile)
Next.js 1565s180 KB92
Astro 618s12 KB99
TanStack Start42s145 KB94

Astro paling efisien untuk static content. Next.js + TanStack Start similar untuk app-heavy.

TTFB Jakarta dari CF edge (same project):

FrameworkTTFB medianLCP median
Next.js 15 (SSR)85ms1.6s
Astro 6 (static)18ms0.9s
TanStack Start92ms1.7s

Astro 5x lebih cepat TTFB karena static-by-default. Next.js + TanStack Start comparable.

Feature comparison

FeatureNext.js 15Astro 6TanStack Start
RSCNativeVia Server IslandsTidak (TanStack Query)
File-based routingYesYesYes
API routesNativeNative (since v4)Native (Start Functions)
Streaming SSRYesYesYes
ISRNative (Vercel)ManualManual
Image optimizationNativeNativeExternal
TypeScriptExcellentExcellentExcellent (TanStack DNA)
Form actionServer ActionsForm ActionsStart Functions
Edge runtimeYesYesYes
Ekosistem pluginTerbesarMediumKecil-medium

Trade-off

Next.js 15

Pro: Ekosistem paling matang — semua library, payment, auth ada integration. Documentation rapih. Deploy 1-click di Vercel/CF. App Router + RSC sudah mature setelah 2 tahun iterasi.

Con: Bundle size relatif besar untuk landing simple. Vendor lock-in moderate (banyak fitur Vercel-specific). ISR migration ke CF Pages butuh refactor. Cold start serverless 300-800ms.

Astro 6

Pro: Build paling cepat. Bundle client minimal (ship 0 JS by default). Content collection + MDX integration excellent. Cocok untuk content-heavy yang prioritize SEO + LCP.

Con: Awkward untuk app dengan state global complex. Server Islands masih iterating — beberapa pattern feel verbose. Migration dari Astro ke React framework lain butuh effort signifikan.

TanStack Start

Pro: Type safety end-to-end paling kuat (TanStack DNA). Router file-based + type-safe inferred. Cocok untuk dashboard interaktif. Start Functions + TanStack Query unified workflow.

Con: Ekosistem terkecil dari ketiga. Banyak library belum punya recipe. Documentation OK tapi tidak as polished as Next.js. Community kecil — Stack Overflow answer sedikit.

Konteks Indonesia

Untuk SMB Indonesia 2026:

Klinik dental SaaS Jakarta (saya migrate Astro → Next.js 15 2025): butuh multi-tenant routing, auth Clerk, payment Midtrans. Next.js 15 fit. Bill hosting Rp 320rb/bulan di Vercel atau Rp 80rb di CF Pages.

Marketing site klien fotografer Tangerang (Astro 6): 5 page + portfolio gallery. Bill hosting Rp 0/bulan di CF Pages. Lighthouse 99/99/100/100. Customer di local Tangerang TTFB 15-20ms.

Internal dashboard HR SaaS Jakarta (TanStack Start): 12 view dengan tabel + filter + chart. State management dengan TanStack Query + TanStack Router type-safe. Productivity 20-30% lebih tinggi dari pengalaman saya dengan Next.js untuk app similar.

Use case decision matrix

Tipe projectRecommended
Marketing site + blogAstro 6
Portfolio personalAstro 6
SaaS multi-tenantNext.js 15
Ecommerce SMBNext.js 15
Dashboard internal data-heavyTanStack Start
Admin panel dengan banyak formTanStack Start atau Next.js 15
Microservice + multiple sub-appNext.js 15
Content + dokumentasiAstro 6

Migration paths

Astro → Next.js 15

Effort: 12-24 jam untuk 10-15 page. Mostly mechanical (.astro.tsx), tapi state management butuh refactor.

Next.js → TanStack Start

Effort: 16-32 jam untuk app medium. Router config beda — App Router → TanStack Router butuh remap. State + data fetching pattern beda.

Next.js → Astro

Effort: 8-16 jam jika project mostly static. Stripping client state + convert to Server Islands. Trivial untuk marketing site, hard untuk app.

Yang surprising

TanStack Start stability lebih bagus dari ekspektasi. Saya prediksi banyak edge case bug di 6 bulan pertama post-stable, tapi 2 project saya zero blocker. Tapi ekosistem plugin masih jarang — untuk integration Midtrans saya butuh write custom 200 LOC dibanding Next.js yang tinggal install plugin.

Next.js 15 App Router akhirnya matang. Setelah 2 tahun churn (App Router rilis 2023), pattern best-practice sudah jelas. Server Actions handle 80% form workflow tanpa client JS.

Astro 6 Server Islands lebih powerful dari yang saya kira. Bisa handle component yang sebelumnya butuh client framework, tetap ship 0 JS untuk static part.

Verdict

Conditional Recommend untuk ketiga:

Pakai Next.js 15 jika:

  • SaaS multi-tenant atau ecommerce SMB
  • Butuh ekosistem matang (auth, payment, analytics integration)
  • Tim familiar React + ingin productivity tinggi
  • Deploy Vercel atau CF Pages

Pakai Astro 6 jika:

  • Content-heavy: marketing, blog, portfolio, dokumentasi
  • Prioritize LCP + SEO + bundle size
  • Static-mostly dengan beberapa interactive component
  • Budget hosting Rp 0/bulan

Pakai TanStack Start jika:

  • Dashboard atau admin panel data-heavy
  • Tim sudah familiar TanStack Query/Router
  • Butuh type safety end-to-end maximal
  • Comfort dengan ekosistem yang masih growing

Skip jika: project Anda tidak fit salah satu kategori. Untuk hybrid (marketing + app), pakai 2 framework di monorepo — Astro untuk marketing, Next.js/TanStack untuk app.

Untuk hosting pilihan: Vercel vs Cloudflare migration guide.

Ditulis oleh Asti Larasati

// Pick Stack Comparison lain


← Semua picks RSS feed