Right tool for the right purpose
Because our goals are high, the focus must be clear. This toolkit is designed for creating web
applications. It is not designed for creating websites or advertisements demos. For such purposes,
you might find (for instance) JSP/JSF or Flash more suitable.
Simplicity and maintainability
We have chosen to emphasize robustness, simplicity, and maintainability.This involves following
the well-established best practices in user interface frameworks and ensuring that our implement-
ation represents an ideal solution for its purpose without clutter or bloat.
XML is not designed for programming
The Web is inherently document-centered and very much bound to the declarative presentation
of user interfaces. The Vaadin framework frees the programmer from these limitations. It is far
more natural to create user interfaces by programming them than by defining them in declarative
templates, which are not flexible enough for complex and dynamic user interaction.
Tools should not limit your work
There should not be any limits on what you can do with the framework: if for some reason the
user interface components do not support what you need to achieve, it must be easy to add new
ones to your application. When you need to create new components, the role of the framework
is critical: it makes it easy to create re-usable components that are easy to maintain.
1.5. Background
The library was not written overnight. After working with web user interfaces since the beginning
of the Web, a group of developers got together in 2000 to form IT Mill. The team had a desire to
develop a new programming paradigm that would support the creation of real user interfaces for
real applications using a real programming language.
The library was originally called Millstone Library.The first version was used in a large production
application that IT Mill designed and implemented for an international pharmaceutical company.
IT Mill made the application already in the year 2001 and it is still in use. Since then, the company
has produced dozens of large business applications with the library and it has proven its ability
to solve hard problems easily.
The next generation of the library, IT Mill Toolkit Release 4, was released in 2006. It introduced
an entirely new AJAX-based presentation engine.This allowed the development of AJAX applic-
ations without the need to worry about communications between the client and the server.
Release 5 Into the Open
IT Mill Toolkit 5, released initially at the end of 2007, took a significant step further into AJAX.
The client-side rendering of the user interface was completely rewritten using GWT, the Google
Web Toolkit.
IT Mill Toolkit 5 introduced many significant improvements both in the server-side API and in the
functionality. Rewriting the Client-Side Engine with GWT allowed the use of Java both on the
client and the server-side. The transition from JavaScript to GWT made the development and
integration of custom components and customization of existing components much easier than
5Right tool for the right purpose
Introduction