Rendering and architecture · Comparison
Single-page app vs multi-page app
Does the browser load one page and swap its contents, or load a new page for every link? The choice affects speed, SEO and how much the app has to handle itself.
2 options · 8 questions side by side · updated
| Compare | SPA | MPA |
|---|---|---|
| How navigation works | JavaScript swaps content in place | The browser loads a new page |
| First load | Slower: the whole app downloads | Faster: one page at a time |
| Moving between pages | Instant feel, no reloads | Full load, softened by caching |
| SEO | Needs server rendering or prerendering | Strong by default |
| State between pages | Kept (players, open panels) | Reset on each page |
| Accessibility basics | Must be rebuilt: focus, titles, scroll | Handled by the browser |
| Typical tools | React, Vue or Svelte with Vite | WordPress, Laravel, Astro |
| Best for | Dashboards and long sessions | Content sites and stores |
How to choose between SPA and MPA
- Pick a SPA for app-like tools where people stay a long time and search traffic does not matter.
- Pick an MPA for content, stores and marketing sites that depend on search traffic.
- Frameworks such as Next.js and Nuxt blend the two: server-rendered pages that then navigate like a SPA.
The options
More comparisons
- CSR vs SSR vs SSG vs ISRFour answers to one question: when is a page's HTML built? In the browser, on the server for each request, once at build time, or at build time with refreshes in the background.
- Monolith vs microservicesOne deployable application or many small ones. The choice is less about technology than about team size and how independently the parts of a product need to change.
- React vs Vue vs Angular vs SvelteThe four main ways to build interactive web interfaces. Each can build almost anything; they differ in how much they include, how they update the page and how large their communities are.
- Next.js vs Vite vs Astro vs Create React AppFour ways to start a React-based website or app. They are not quite the same kind of tool: Next.js and Astro are frameworks, Vite is a build tool, and Create React App is a retired starter.
- Tailwind CSS vs Radix UI vs shadcn/uiThese three are often named together because they stack: Tailwind provides the styling, Radix provides accessible behaviour, and shadcn/ui combines styling with accessible primitives (Radix or Base UI) into components you own.
- Zustand vs Redux vs TanStack QueryZustand and Redux manage state that lives in the browser; TanStack Query manages data that lives on a server. Many apps use one of the first two alongside the third.
Crafted in the dark. Shipped to the world.
Tell us what you are building. You get a private project space with a proposal and a line-by-line quote within a day.