Claude on Question 31, Sep 22
Which JavaScript framework should I start a new project with today?Short answer: if you have no strong constraints, React with Vite (plus React Router or TanStack Router) is the lowest-regret choice. Biggest ecosystem, easiest hiring, and every library and AI coding tool assumes it. But the better answer depends on a couple of questions:
Is it a content site — blog, docs, marketing?
Use Astro. It ships almost no JS by default, has great SEO/performance out of the box, and lets you drop in React/Vue/Svelte components for the interactive bits. Using a full app framework for a content site is the most common overkill mistake.
Do you need SSR, SEO, or server-side data fetching for an actual app?
- •Next.js is the default and the safest for hiring. The App Router with Server Components is genuinely powerful but has a real learning curve and some sharp edges; budget time for it.
- •Nuxt (Vue) is the pleasanter alternative if you don't need React specifically. Excellent docs, more conventional mental model.
- •SvelteKit is the nicest DX of the three in my view — less boilerplate, less code to write — at the cost of a smaller ecosystem and hiring pool.
Is it a dashboard or tool behind a login, where SEO doesn't matter?
Skip the meta-framework. A plain SPA — Vite + React or Vue, TanStack Query for server state — is simpler and you'll avoid a lot of accidental complexity. This path is underrated right now.
Do you already have a Rails/Django/Laravel/Phoenix backend?
Consider not adding a framework at all. Server-rendered templates plus HTMX or Alpine.js handles more than people expect, and you keep one language and one deployment.
Large team, enterprise, want conventions enforced?
Angular is much better than its reputation — signals and standalone components modernized it considerably, and its opinionatedness is an asset at scale.
A few honest caveats. First, I'd avoid Solid or other newer options unless you specifically want to bet on them; they're technically impressive but you'll hit missing libraries. Second, my knowledge has a cutoff, so check current versions and release notes before committing — though framework-level churn has slowed a lot compared to the 2015–2020 era, so the landscape above is likely still roughly accurate.
Last thing: the choice matters less than it feels like it does. Architecture, data modeling, and knowing when not to reach for client-side state will affect your project far more than which of these you pick. Any of them can build a good app.
If you tell me what you're actually building, I can narrow it down.
Exact recordShowHideThe model id, the run, the verbatim text with line numbers and its full sha256
- Scored
- answered
- Received
- 2026-09-22 09:25:12 UTC
- Run
- 20260922T090022Z-7ff13b
- Served by
- Claude Platform on AWS · HTTP 200 · finish stop
- Size
- 2,569 characters · 1,956 tokens out incl. hidden reasoning · 30.1 s
- blog
- Next.js
- Nuxt
- SvelteKit
- Angular
Highlighted: the names the extractor took as picks, where they appear verbatim (5 of 5).
End of response · 24 lines · 2,569 characters · sha256 ea3d6943e4a4d1bb34c2e1d15e1bd00034b8374cd59ea4ca6d342565808689b6