Single Page Applications promise modernity, but in reality, they bring back all the classic client/server problems. With Vaadin, we can avoid them.
The Illusion of “Modern” Web Applications
When we build Single Page Applications (SPAs), we often believe we’re creating something new and cutting-edge. But if we look closely, SPAs are just client/server applications in disguise.
The browser has become the client, and our backend serves as the server. Same concept, new packaging.
The Same Old Problems
Because SPAs are client/server applications, they reintroduce issues we already solved decades ago:
- API design and maintenance
Every data exchange must go through an API, which means more code, versioning headaches, and additional testing effort. - Security on both ends
Authentication, authorization, and session management need to be implemented and synchronized across frontend and backend. - Duplicated validation
You must validate data in the frontend for user experience and in the backend for correctness. Two places, same logic. - Two different ecosystems
A JavaScript frontend with npm, and a Java backend with Maven or Gradle. Different build systems, dependency trees, and deployment pipelines. Twice the complexity.
We’ve seen this movie before, just with Swing, Delphi, or WinForms instead of React and Angular.
Vaadin: One Application, One Technology
Vaadin takes a completely different approach. Instead of splitting your application into two parts, you build it as one unified Java application:
- No REST or GraphQL APIs needed
The UI logic runs server-side, and Vaadin automatically synchronizes state with the browser. - Security stays in one place: in your backend.
You use the same authentication and authorization mechanisms as in any Spring Boot app. - Single language and toolchain
UI, business logic, and persistence, all written in Java. One project, one build, one team. - Shared domain logic and validation
You can reuse your entities, validators, and services without duplication or serialization layers.
The result: fewer moving parts, faster development, and simpler maintenance.
Keep IT Simple
SPAs reintroduced complexity we no longer need. Vaadin offers a modern, productive way to build web applications, without falling into the same client/server traps again. Sometimes, the most modern solution is the simplest one.
If you like to know more about Vaadin, get in touch. I offer customizable Vaadin workshops.


