Vaadin is a cool Java web application framework designed
for creating rich and interactive applications that run in the browser,
without any plugins.
A server-driven architecture together with reusable
component model is used to simplify programming of applications and for better
web application security. No HTML, XML or JavaScript necessary and all Java
libraries and tools are at your disposal.
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.
Figure
1.1. Vaadin Application Architecture
Figure
1.1, “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.
Vaadin is made of a server-side framework
and a client-side engine.
The server side runs as a persistent
Java Servlet session in the application server (f.e. JBoss Web Server) and
contains the control logic and the business logic of the web application.
The client-side engine on the other
hands runs in the browser as a JavaScript program, rendering the user interface
and delivering user interaction to the server.
As the Client-Side Engine is executed as JavaScript
in the browser, no browser plugins are needed for using applications made with
Vaadin. Behind the scenes, Vaadin uses GWT, the Google Web Toolkit, for
rendering the user interface in the browser.
GWT programs are written in Java, but
compiled into JavaScript, thus freeing the developer from learning JavaScript
and other browser technologies.
GWT is ideal for implementing advanced
user interface components (or widgets in GWT terminology) and interaction logic
in the browser, while Vaadin handles the actual application logic in the
server.
Installing Vaadin
If you want a quickstart with Vaadin and
Eclipse just skip this section and move to "Working with Vaadin and
Eclipse". There you will be able to download Vaadin libraries directly
from Eclipse.
Installing Vaadin is just a matter of downloading the newest Vaadin package from the download page at http://vaadin.com/download/.
Then unpack the installation package to a directory using a decompression program.
The Vaadin package contains the Content Browser application which allows you to browse documentation and example source code, and run the demo applications. The demo applications demonstrate most of the core features of Vaadin. You can find the demo applications also at the vaadin website: http://vaadin.com/demo.
To start the Content Browser, run the start.cmd/start.sh script in the Vaadin installation directory. The start script launches a stand-alone web server running on the local host at port 8888, and a web browser at address http://localhost:8888/.
