How to build the full design of a website with vaadin?


I’m new to vaadin, but have basic knowledge in component frameworks like JSP/JSF, Tapestry, Primefaces.

Coming form there, I wonder how full websites are defined and build with vaadin?
It here any declarative xml-binder like JSF has with XHTML pages, that than make reference to java backing classes?

Or would I have to define ALL content that should be displayed on my website within the java backing classes?
Could you point me to an example where a full stack website layout (like head, footer, main content, navbar) is build using vaadin?


There are many questions here, and answering all would require some guessing about what exactly you want to build, but as a starting point:

Vaadin is suited for building rich Internet applications, not so much for websites. If you are building a site with little interaction, you would probably be better off using some other tools for that and maybe embedding Vaadin applications there if appropriate.

There are some tools for declarative layouts (e.g.
) and you can use CustomLayout (check the javadoc) for defining a layout in HTML and embedding Vaadin components in it.

Building a layout with a header, footer etc. with standard Vaadin layouts from Java is also quite easy, and you can use CssLayout if you prefer to have some more control from CSS and a little faster layouts.

The main app does not contain static content. I’m just creating some help, about and impressum pages that I do not want to hardcode into the java classes.

You might want to use CustomLayout for these or maybe a Label in XHTML mode, or a BrowserFrame for an iframe to embed content into.