Skip to content
TatuJLund edited this page Apr 20, 2026 · 34 revisions

Welcome

This wiki collects practical notes, examples, and best practices derived from the vaadin-create23 demo project. While new articles will be added over time, the current content reflects the main focus of the wiki: documenting Vaadin 8 patterns and techniques that tend to be underrepresented or only briefly mentioned in the official documentation. The emphasis is on real‑world usage, maintainability, and architectural clarity, with each article grounded in concrete code from the demo project rather than isolated snippets or theoretical examples.

Why modern practices on a maintained framework matter

Vaadin 8 is in extended maintenance, not in active feature development. This wiki exists because framework age and engineering quality are independent concerns.

A premature rewrite to a newer stack rarely modernizes the engineering — it consumes the budget, and the result is often the same application with the same architectural problems, the same missing tests, and the same accessibility gaps, just on a newer runtime. Meanwhile, investing in testing discipline, security, observability, accessibility, and clean architecture delivers value to production users today and reduces the actual risk surface of the running system right now.

The articles here demonstrate that an actively maintained application can follow modern engineering practices — comprehensive test pyramids, XSS‑safe HTML composition, OpenTelemetry instrumentation, ARIA‑compliant accessibility, session serialization discipline, containerized test environments — regardless of which framework generation it runs on.

There is also a forward‑looking payoff: a codebase with strong test coverage, consistent patterns, clean layer separation, and well‑documented conventions is dramatically easier to migrate when the time comes. The tests act as a behavioral specification. The clean architecture allows replacing layers independently. The consistency enables mechanical — and increasingly AI‑assisted — transformation. The effort of a delayed modernization can be smaller than a premature one, precisely because technical debt has been managed rather than compounded.

In short: modern practices on a legacy platform is a fundamentally different situation from legacy practices on a legacy platform — and arguably a better one than legacy practices on a modern platform.

Vaadin 8 Howtos

Clone this wiki locally