Single-page applications (SPA)
A single-page application loads once and then updates only the parts that change. It suits portals, dashboards and tools with many interactions.
When an SPA makes sense
Typical uses are dashboards, configurators, planning and admin interfaces. For content-driven websites, server-rendered pages are usually faster, more accessible and easier for search engines. We settle this question before every project.
Technology
Svelte and SvelteKit for small bundles
Vue.js or React if your team already works with them
TypeScript for type-safe code
Laravel as the API back end with authentication via Sanctum
Connecting to the back end
The SPA talks to the server via REST or GraphQL APIs. For log-ins, we use cookie-based sessions protected against CSRF. We avoid tokens in the browser's local storage because XSS vulnerabilities make them easy to steal.
Performance and accessibility
Code splitting per view
Server-side rendering for public pages
INP measured in operation and performance budgets in the CI pipeline
Focus management and screen reader announcements with every view change
Approach
We first check whether an SPA is the right architecture. We design interface and API together and develop in short iterations. Automated tests with Playwright cover the central flows. Loading states and dropped connections get particular care.