Vaadin Framework introduction and Interview Questions and Answers

Vaadin introduction

Vaadin Framework

Vaadin Framework is a Java web application development framework that is designed to make creation and maintenance of high quality web-based user interfaces easy. Vaadin supports two different programming models: server-side and client-side. The server-driven programming model is the more powerful one. It lets you forget the web and program user interfaces much like you would program a desktop application with conventional Java toolkits such as AWT, Swing, or SWT. But easier.

While traditional web programming is a fun way to spend your time learning new web technologies, you probably want to be productive and concentrate on the application logic. The server-side Vaadin framework takes care of managing the user interface in the browser and the AJAXcommunications between the browser and the server. With the Vaadin approach, you do not need to learn and deal directly with browser technologies, such as HTML or JavaScript.


Vaadin application architecture illustrates the basic architectures of web applications made with Vaadin. The server-side application architecture consists of the server-side framework and a client-side engine. The engine runs in the browser as JavaScript code, rendering the user interface, and delivering user interaction to the server. The UI logic of an application runs as a Java Servlet in a Java application server.

As the client-side engine is executed as JavaScript in the browser, no browser plugins are needed for using applications made with Vaadin. This gives it an edge over frameworks based on Flash, Java Applets, or other plugins. Vaadin relies on the support of Google Web Toolkit for a wide range of browsers, so that the developer does not need to worry about browser support.

Because HTML, JavaScript, and other browser technologies are essentially invisible to the application logic, you can think of the web browser as only a thin client platform. A thin client displays the user interface and communicates user events to the server at a low level. The control logic of the user interface runs on a Java-based web server, together with your business logic. By contrast, a normal client-server architecture with a dedicated client application would include a lot of application specific communications between the client and the server. Essentially removing the user interface tier from the application architecture makes our approach a very effective one.

Behind the server-driven development model, Vaadin makes the best use of AJAX ( Asynchronous JavaScript and XML, see “AJAX” for a description) techniques that make it possible to create Rich Internet Applications (RIA) that are as responsive and interactive as desktop applications.

In addition to the server-side Java application development, you can develop on the client-side by making new widgets in Java, and even pure client-side applications that run solely in the browser. The Vaadin client-side framework includes Google Web Toolkit (GWT), which provides a compiler from Java to the JavaScript that runs in the browser, as well a full-featured user interface framework. With this approach, Vaadin is pure Java on both sides. 

Vaadin uses a client-side engine for rendering the user interface of a server-side application in the browser. All the client-server communications are hidden well under the hood. Vaadin is designed to be extensible, and you can indeed use any 3rd-party widgets easily, in addition to the component repertoire offered in Vaadin. In fact, you can find hundreds of add-ons in the Vaadin Directory.

Vaadin allows flexible separation between the appearance, structure, and interaction logic of the user interface. You can design the layouts either programmatically or declaratively, at the level of your choosing. 

Vaadin Unplugged Interview Questions-Answers

Q.1 Which of the Programming Model is not supported by Vaadin?

A. Browser

       B. Client Side

       C. Server Side

       D. None of the options

Ans : Browser

Q.2 Where do you use server-side model?

       A. To build a thin Client App

       B. To build similar desktop application

       C. Both the options

       D. None of the options

Ans : To build similar desktop application

Q.3 Which of the following is not a component of Server-side model application?

       A. GWT Widgets

       B. Java Servlets

       C. com.vaadin.ui.UI

       D. None of the options

Ans : GWT Widgets

Q.4 User Interface is a UI Class that extends _______.

       A. com.vaadin.HTTPServlet

       B. com.vaadin.Vaadin Servlet

       C. com.vaadin.ui.UI

       D. None of the options

Ans : com.vaadin.ui.UI

Q.5 Which of the following is not a component of Server-side model application?

       A. Client Side Engine

       B. Server Side Framework

       C. None of the options

Ans : None of the options

Q.6 Which of the following class is used to add System Messages?

       A. SystemErrorMessages

       B. ErrorMessages

       C. SystemMessages

       D. None of the options

Ans : SystemMessages

Q.7 Listener Interfaces can be implemented using _____________.

       A. Method References

       B. Ananymous Classes

       C. Lambda Expressions

       D. All the options

       E. None of the options

Ans : All the options

Q.8 Which of the following Code Snippet is used to display error message to the user for a Text Field component?

       A. textfield.setComponentError(new Error(“InCorrect value”));

       B. textfield.setError(new UserError(“InCorrect value”));

       C. textfield.setComponentError(new UserError(“InCorrect value”));

       D. All the options

Ans : textfield.setComponentError(new UserError(“InCorrect value”));

Q.9 Which of the following is not a property of System Messages?

       A. Actual message

       B. Font and Images

       C. Property to indicate if the notification is enabled or not

       D. Redirect URL after displaying message

       E. Short caption

Ans : Font and Images

Q.10 Vaadin visual design in declarative method can be done using ________.

       A. Vaadin designer

       B. Vaadin Interpreter

       C. Vaadin craft

       D. Vaadin Themes

Ans : Vaadin designer

Q.11 Which of the following is a valid code snippet to set a tooltip for a button?

       A. Button button = new Button(“A Button”); button.setLabel(“This is the tooltip”);

       B. Button button = new Button(“A Button”); button.seToolTip(“This is the tooltip”);

       C. Button button = new Button(“Button”); button.setDescription(“This is the tooltip”);

       D. None of the options

Ans : Button button = new Button(“Button”); button.setDescription(“This is the tooltip”);

Q.12 Which of the following is not a basic component?

       A. Button

       B. Link

       C. Label

       D. TextArea

Ans : Link

Q.13 Which of the following is not a Selection component?

       A. ComboBox

       B. RadioButtonGroup

       C. ListSelect

       D. None of the options

Ans : ListSelect

Q.14 _________ component is used to display a non-editable text.

       A. Text

       B. ToolTip

       C. Label

       D. List

Ans : Label

Q.15 Which of the following is a field component?

       A. MenuBar

       B. Upload

       C. CheckBox

       D. All the options

Ans : All the options

Click here to read more Q&A

About Author

After years of Technical Work, I feel like an expert when it comes to Develop wordpress website. Check out How to Create a Wordpress Website in 5 Mins, and Earn Money Online Follow me on Facebook for all the latest updates.

Leave a Comment