Astro vs Next.js vs Remix untuk SaaS Indonesia
3 framework React (atau Astro + React island). Saya pakai ketiganya untuk klien beda sejak 2024. Verdict berbeda untuk shape SaaS yang berbeda — bukan winner-take-all.
TL;DR
- Astro + React islands untuk SaaS yang marketing-heavy + dashboard medium-complexity. Verdict saya: paling fit untuk SMB Indonesia.
- Next.js (App Router) kalau tim Anda already lock-in di ecosystem React + Vercel, atau butuh ISR/streaming canggih untuk B2C.
- Remix / React Router 7 kalau dashboard complexity tinggi (forms, nested routes, optimistic UI). Marketing site secondary.
Konteks: tim 1-3 dev, customer Indonesia (Midtrans payment, IDR), infra budget < $30/bulan.
Project saya yang relevan
| Project | Framework | Tim | Customer | Outcome |
|---|---|---|---|---|
| SaaS klinik dental BSD | Astro 6 + React islands | 2 dev | 12 klinik | Ship 3 bulan, P95 LCP 1.4s |
| SaaS billing untuk fotograf | Next.js 15 App Router | 1 dev | 40 fotograf | Ship 4.5 bulan, P95 LCP 2.1s |
| Internal tool kontraktor | Remix (sekarang React Router 7) | 1 dev | 1 enterprise | Ship 2 bulan, complex forms work great |
Sample size kecil, tapi enough untuk bilang “ini tradeoff yang saya rasakan”.
Build & deploy speed
Setelah 3 project, cold deploy time (commit → live):
- Astro 6 + Cloudflare Pages: 35-50 detik
- Next.js 15 + Vercel: 65-90 detik
- Remix + Cloudflare Pages: 45-60 detik
Vercel + Next.js paling lambat karena overhead serverless functions warmup di build. Tapi at runtime, Vercel edge cache compensates.
DX harian
Astro: 90% pages static-by-default + React island untuk interactive bits. Mental model jelas. Update component tidak rebuild seluruh app.
Next.js App Router: Server Components vs Client Components vs 'use client' boundary — saya masih trip di sini setelah 6 bulan use. Conceptually powerful, practically punya banyak gotcha (e.g., Suspense boundary placement, cache invalidation).
Remix / RR7: nested route + loader/action paradigm sangat clean untuk dashboard. Tapi marketing site lebih friction (tidak ada Astro-style component compose untuk landing page).
Performance di Indonesia
Latency dari Jakarta ke origin server:
| Stack + Infra | TTFB Jakarta | LCP Tangerang 4G |
|---|---|---|
| Astro + Cloudflare Pages | 38ms | 1.2-1.5s |
| Next.js + Vercel Edge | 80ms | 1.8-2.3s |
| Next.js + Vercel Functions (Singapore) | 220ms | 2.5-3.2s |
| Remix + Cloudflare Pages | 42ms | 1.5-1.9s |
Cloudflare punya 4 PoP di Indonesia (Jakarta, Surabaya, Medan, Denpasar). Vercel Edge tidak punya PoP Indonesia — closest Singapore. Untuk SMB Indonesia yang customer-nya dari Jawa, Cloudflare jelas menang di latency.
Customer & dev cost (per bulan)
Setup minimal untuk 10K monthly active user:
- Astro + CF Pages + Hyperdrive/Neon: ~$0-15/bulan (free tier CF Pages, $0 untuk DB di Neon free tier)
- Next.js + Vercel + Vercel Postgres: ~$20-40/bulan (Pro plan kalau ada team, $20 base)
- Remix + CF Pages + Hyperdrive/Neon: ~$0-15/bulan (sama CF benefit)
Untuk SMB Indonesia yang revenue Rp 10-50 juta/bulan, perbedaan $5-25/bulan signifikan.
Hire-ability
Cari dev di Indonesia 2026:
- Next.js / React dev: paling banyak. LinkedIn listing “Next.js Indonesia” → 200+ result.
- Astro dev: niche. “Astro Indonesia” → 30-40 result. Tapi semua React dev bisa pickup Astro dalam 1-2 minggu.
- Remix dev: rare. Most “Remix dev” sebenarnya pernah pakai di 1 project saja.
Jadi: kalau Anda mau ekspansi tim, Next.js paling aman dari hiring perspective. Astro/Remix bisa, tapi expect retraining time.
Yang Astro menang
- Multi-page site yang sebagian static: marketing + docs + blog + dashboard di satu codebase. Astro handle dengan elegant.
- SEO: out-of-the-box static HTML, jadi search engine crawler happy. Tidak butuh SSR config.
- Performance budget tight: kalau Anda compete di Core Web Vitals (Local SEO, content site), Astro paling consistent.
Yang Next.js menang
- Streaming UI + Suspense: complex dashboard yang butuh progressive rendering. Astro tidak punya equivalent yang sebaik ini.
- Ecosystem: 80% library JS punya Next.js example. Astro lagging di docs/examples.
- Vercel integration: kalau Anda butuh ISR, edge middleware canggih, vercel-specific features — Next.js native.
Yang Remix/RR7 menang
- Forms + mutations: progressive enhancement form, nested routes dengan loader cascade. Untuk dashboard CRUD-heavy, Remix paling clean.
- Less magic: tidak ada “use client” boundary. Loader runs server, component runs client. Done.
- Web-platform alignment: pakai web standard (Request, Response, FormData) lebih dari Next.js.
Kapan saya Skip
Skip Next.js untuk SMB Indonesia kalau:
- Tim 1 dev tanpa Next.js experience sebelumnya
- Budget infra < $20/bulan
- Marketing site adalah 60%+ dari project
- Tidak butuh fitur streaming/ISR canggih
Skip Astro kalau:
- Dashboard complexity sangat tinggi (50+ form fields, nested mutations, optimistic UI complex)
- Tim already pakai Next.js untuk project lain (consistency win)
Skip Remix/RR7 kalau:
- Project mostly marketing/content
- Tim butuh React ecosystem yang luas (Remix-specific library ecosystem lebih kecil)
Verdict per shape SaaS
| Shape SaaS | Recommended |
|---|---|
| Marketing 70% + dashboard 30% | Astro + React islands |
| Marketing 30% + dashboard 70% | Remix / RR7 |
| Pure marketing/content | Astro (or 11ty/Hugo kalau tidak butuh React) |
| Complex dashboard, B2C feel | Next.js App Router |
| Internal tool, forms-heavy | Remix / RR7 |
Kesimpulan
Tidak ada “best framework”. Tiga framework ini berbeda solusi untuk berbeda shape SaaS.
Untuk SMB Indonesia paling banyak yang saya handle (marketing + light dashboard), Astro + React islands adalah verdict saya. Tapi untuk client billing fotograf yang dashboard-heavy, Next.js valid choice — saya tidak akan migrate dia hanya karena saya prefer Astro.
Catatan: ketiga framework valid pilihan di 2026. Yang harus dihindari adalah pilih framework karena hype Twitter tanpa map ke shape project Anda.
Ditulis oleh Asti Larasati