Key takeaways
- Content websites rarely need a JavaScript framework — WordPress or a static site generator is faster and simpler.
- For web apps, SaaS products and dashboards, React (with Next.js), Vue (with Nuxt) and Svelte (with SvelteKit) are all solid choices.
- Pick based on the team, the ecosystem you need and the rendering requirements — not hype.
Clients often ask me, “Should we build it in React?” The honest answer starts with another question: what are you building? A marketing site, a blog, an online store, a booking tool and an analytics dashboard have very different needs. Here’s how I choose.
First: do you need a framework at all?#
| Project | Usually best |
|---|---|
| Business website, blog, portfolio | WordPress or a static site generator (Astro, Eleventy) |
| Online store | WooCommerce, Shopify, or a headless setup for large catalogues |
| Marketing site + content for a SaaS | WordPress, Astro or Next.js with static generation |
| Interactive web app / SaaS / dashboard | A framework: React, Vue, Svelte or Angular |
| A few interactive widgets on a content site | Plain JavaScript, Alpine.js or small “islands” of components |
Frameworks add build tooling, larger JavaScript bundles and SEO considerations (see JavaScript SEO). They pay off when the interface has lots of state: filters, real-time updates, complex forms, drag and drop, charts.
The main options#
| Framework | Strengths | Watch out for | Meta-framework |
|---|---|---|---|
| React | Largest ecosystem, hiring pool, component libraries, React Native for mobile | Many choices to make; performance needs care | Next.js, Remix/React Router |
| Vue | Gentle learning curve, great docs, single-file components | Smaller ecosystem than React | Nuxt |
| Svelte | Very small bundles, simple reactive syntax | Smaller talent pool | SvelteKit |
| Angular | All-in-one, strongly structured, good for large enterprise teams | Heavier, steeper learning curve | Built-in |
| Astro | Content-first, ships zero JS by default, mixes frameworks as “islands” | Not for highly interactive apps alone | — |
Need a hand with this?
Get a quick, honest review of your website’s SEO.
How I decide for a SaaS or dashboard#
- Team skills: the framework your developers know well beats a “better” one they’re learning.
- Ecosystem needs: charting, tables, auth, payments, UI kits — React has the widest choice.
- Rendering: public pages that must rank need SSR or static generation (Next.js, Nuxt, SvelteKit); logged-in app screens can be client-rendered.
- Mobile plans: if a native app is likely, React + React Native shares knowledge and some code.
- Long-term maintenance: popular, well-documented choices are easier to hand over and hire for.
For most of my SaaS and dashboard projects, the default is React with Next.js and TypeScript, unless the team prefers Vue. See choosing a tech stack for your SaaS.
Performance tips whatever you choose#
- Code-split by route so users download only what they need.
- Prefer server components or SSR for content-heavy pages.
- Audit dependencies — one charting or date library can add hundreds of kilobytes.
- Measure with Lighthouse and real-user monitoring; watch INP in particular.
Framework FAQ#
Is plain JavaScript enough for a small project?#
Yes. For a few interactive features, plain JavaScript is faster to load and easier to maintain.
Can WordPress and React work together?#
Yes — the block editor itself is built with React, and WordPress can act as a headless CMS for a Next.js front end. See headless CMS explained.
Which framework is best for SEO?#
Any of them, when used with server-side rendering or static generation.