Documentation versions (currently viewingVaadin 24)

Building Apps The Vaadin Way

Learn how to build real-world business applications with Vaadin.
Work in progress
This section of the documentation is still being written. Its content is already useful, but several parts are missing.

Vaadin is a powerful tool for building real-world business applications. However, like all versatile tools, it can be used in many different ways and some of these ways lead to better outcomes than others. As an analogy, you can force a screw into a wall using a hammer, but the result is much better if you use a drill and screwdriver. Likewise, you can force a nail into a wall using a crowbar, but the result is much better if you use a hammer. If you tried to force a screw into a wall the first time you used a hammer, you would think both the screw and the hammer are useless. If you looked up more information about the hammer and the screw, and learned the weight of the hammer and the dimensions of the screw, and what type of wall material it is suited for, you would still not be wiser. You might even start to feel stupid, like you should know how to use a hammer and a screw because "everybody knows that".

Like all big things, big business applications have small beginnings. You can figure things out as you go along, but wouldn’t it be easier if somebody showed you how to use your new tools from the start? In this section of the documentation, you’ll learn the Vaadin Way of building business applications. The Vaadin Way is not a tutorial. Rather, it is an opinionated and holistic look at building modern business applications with Vaadin. It is not limited to the user interface, but also covers all the other parts, like business logic, persistence, integration with external systems, and even deployment. It scales progressively from a demo, to a hobby project, to serving even the most demanding enterprise needs.

That said, the Vaadin Way is not the only way to build Vaadin applications. Experienced developers and maintainers of existing applications should be able to continue using Vaadin in their preferred way, or cherry pick the pieces of the Vaadin Way that works for them.