Claude on Question 31, Sep 21
Which JavaScript framework should I start a new project with today?Short answer: React with a meta-framework is the safest default, but it's genuinely not the best pick for every project. Here's how I'd actually decide.
Default choice: React + a meta-framework
Largest ecosystem, most third-party components, easiest hiring, most Stack Overflow/LLM training data when you get stuck. For the meta-framework: Next.js if you want the most-traveled path, React Router (v7, formerly Remix) if you want something simpler and less coupled to a hosting vendor, or TanStack Start if you like that ecosystem. The main cost is complexity — React Server Components and the client/server boundary confuse experienced developers, not just beginners.
Pick something else if:
- •Content-heavy site (blog, docs, marketing) → Astro. Ships almost no JS by default and lets you drop in React/Vue/Svelte components for the interactive bits. Clearly the right tool here.
- •You want the nicest development experience → Svelte + SvelteKit. Less boilerplate, great docs, genuinely enjoyable. Svelte 5's "runes" reworked the reactivity model, so older tutorials may not match. Smaller ecosystem and hiring pool.
- •Large team, long-lived enterprise app → Angular. Much better than its reputation now (signals, standalone components), and its strong conventions are an asset when 30 people touch the same codebase.
- •You already have a backend (Rails, Django, Laravel, Phoenix) → consider not adding an SPA framework at all. Server-rendered HTML plus HTMX or Alpine.js handles a surprising amount, and you skip the whole API-layer tax.
- •Middle ground between React and Svelte → Vue + Nuxt. Excellent docs, stable, less churn than React, healthy ecosystem — just fewer jobs and niche libraries in the US market.
Mostly settled regardless of choice: use Vite for tooling, TypeScript, and pnpm or Bun. Those are close to consensus now.
One caveat: this ecosystem moves fast and my knowledge has a cutoff, so check current release notes before committing — especially for Svelte, Solid, and anything Server Components related.
If you tell me what you're building, who's building it, and whether you need SEO or offline support, I can narrow this to one recommendation instead of six.
Exact recordShowHideThe model id, the run, the verbatim text with line numbers and its full sha256
- Scored
- answered
- Received
- 2026-09-21 09:25:21 UTC
- Run
- 20260921T090021Z-989a7c
- Served by
- Claude Platform on AWS · HTTP 200 · finish stop
- Size
- 2,246 characters · 1,824 tokens out incl. hidden reasoning · 26.7 s
- Astro
- Svelte + SvelteKit
- Angular
- Middle ground between React and Svelte
Highlighted: the names the extractor took as picks, where they appear verbatim (4 of 4).
End of response · 18 lines · 2,246 characters · sha256 72b63d133379976d4233e642c24bea52acc6ccdda6da20e89b5e5d1c3839ed6e