Advantages
- Smooth navigation without page flicker
- UI logic in JavaScript — the server returns only data (JSON API)
- Can be enhanced into a PWA (Progressive Web App)
Disadvantages
- SEO — search bots handle JavaScript-rendered content poorly. Solved with SSR or Static Generation
- Initial load — a large JS bundle can take time to parse on low-end devices
- More complex development — state management, routing, auth — all in JS
Popular frameworks
React, Vue, Angular, Svelte. Often combined with meta-frameworks (Next.js, Nuxt, SvelteKit) that add SSR and Static Generation.