This book provides an overview of Vaadin and covers the most important topics
which you might encounter when developing applications with it. A more
detailed documentation of individual classes, interfaces, and methods is given
in the Java API Reference.
You can browse an online version of this book at the Vaadin website
http://vaadin.com/. A PDF version is also included in the Vaadin
installation package and if you install the Vaadin Plugin for Eclipse, you can
browse it in the Eclipse Help. You may find the HTML or the Eclipse Help
plugin version more easily searchable than this printed book or the PDF
version, but the content is the same. Just like the rest of Vaadin, this book
is open source.
Writing this manual is ongoing work and this edition represents a snapshot
around the release of Vaadin 6.2, containing a number of additions and
corrections since the first edition, which was for Vaadin 6.1. Especially, the
Chapter 10, Developing Custom Components, has been revised to comply with the new way of defining
widget sets and the mapping from server-side components to their corresponding
client-side widgets. Many sections are under work and will be expanded in
future.
This book is intended for software developers who use, or are considering
to use, Vaadin to develop web applications.
The book assumes that you have some experience with programming in Java,
but if not, it is as easy to begin learning Java with Vaadin as with any
other UI framework if not easier. No knowledge of AJAX is needed as it is
well hidden from the developer.
You may have used some desktop-oriented user interface frameworks for
Java, such as AWT, Swing, or SWT. Or a library such as Qt for C++. Such
knowledge is useful for understanding the scope of Vaadin, the
event-driven programming model, and other common concepts of UI
frameworks, but not necessary.
If you don't have a web graphics designer at hand, knowing the basics of
HTML and CSS can help, so that you can develop presentation themes for
your application. A brief introduction to CSS is provided. Knowledge of
Google Web Toolkit (GWT) may be useful if you develop or integrate new
client-side components.
Organization of This Book
The Book of Vaadin gives an introduction to what
Vaadin is and how you use it to develop web
applications.
- Chapter 1, Introduction
-
The chapter gives introduction to the application architecture
supported by Vaadin, the core design ideas behind the
framework, and some historical background.
- Chapter 2, Getting Started with Vaadin
-
This chapter gives practical instructions for installing
Vaadin and the reference toolchain, including the Vaadin
Plugin for Eclipse, how to run and debug the demos, and how to
create your own application project in the Eclipse IDE.
- Chapter 3, Architecture
-
This chapter gives an introduction to the architecture of
Vaadin and its major technologies, including AJAX, Google Web
Toolkit, JSON, and event-driven programming.
- Chapter 4, Writing a Web Application
-
This chapter gives all the practical knowledge required for
creating applications with Vaadin, such as window management,
application lifecycle, deployment in a servlet container, and
handling events, errors, and resources.
- Chapter 5, User Interface Components
-
This chapter essentially gives the reference documentation for
all the core user interface components in Vaadin and their
most significant features. The text gives examples for using
each of the components.
- Chapter 6, Managing Layout
-
This chapter describes the layout components, which are used
for managing the layout of the user interface, just like in
any desktop application frameworks.
- Chapter 7, Visual User Interface Design with Eclipse (experimental)
-
This chapter gives instructions for using the visual editor
for Eclipse, which is included in the Vaadin Plugin for the
Eclipse IDE.
- Chapter 8, Themes
-
This chapter gives an introduction to Cascading Style Sheets
(CSS) and explains how you can use them to build custom visual
themes for your application.
- Chapter 9, Binding Components to Data
-
This chapter gives an overview of the built-in data model of
Vaadin, consisting of properties, items, and containers.
- Chapter 10, Developing Custom Components
-
This chapter describes the process of creating new client-side
widgets with Google Web Toolkit (GWT) and integrating them
with server-side counterparts. The chapter also gives
practical instructions for creating widget projects in
Eclipse, and using the GWT Hosted Mode Browser.
- Chapter 11, Advanced Web Application Topics
-
This chapter provides many special topics that are commonly
needed in applications, such as opening new browser windows,
embedding applications in regular web pages, low-level
management of resources, shortcut keys, debugging, etc.
- Appendix A, User Interface Definition Language (UIDL)
-
This chapter gives an outline of the low-level UIDL messaging
language, normally hidden from the developer. The chapter
includes the description of the serialization API needed for
synchronizing the component state between the client-side and
server-side components.
- Appendix B, Songs of Vaadin
-
Mythological background of the name Vaadin.
The Vaadin installation package and websites offer plenty of material that
can help you understand what Vaadin is, what you can do with it, and how
you can do it.
- Demo Applications
-
The installation package of Vaadin includes a number of demo
applications that you can run and use with your web
browser. The content browser allows you to view the source
code of the individual demo applications. You should find
especially the Sampler demo a good friend of yours.
You can find the demo applications online at http://vaadin.com/.
- Address Book Tutorial
-
The Address Book is a sample application accompanied with a
tutorial that gives detailed step-by-step instructions for
creating a real-life web application with Vaadin. You can find
the tutorial from the product website.
- Developer's Website
-
Vaadin Developer's Site at http://dev.vaadin.com/
provides various online resources, such as the ticket system,
a development wiki, source repositories, activity timeline,
development milestones, and so on.
The wiki provides instructions for developers, especially for
those who wish to check-out and compile Vaadin itself from the
source repository. The technical articles deal with
integration of Vaadin applications with various systems, such
as JSP, Maven, Spring, Hibernate, and portals. The wiki also
provides answers to Frequently Asked Questions.
- Online Documentation
-
You can read this book online at http://vaadin.com/book. Lots of
additional material, including technical HOWTOs, answers to Frequently Asked
Questions and other documentation is also available on
Vaadin web-site.
Stuck with a problem? No need to lose your hair over it, the Vaadin
developer community and the IT Mill company offer support for all of your
needs.
- Community Support Forum
-
You can find the user and developer community forum for Vaadin
at http://vaadin.com/forum. Please
use the forum to discuss any problems you might encounter,
wishes for features, and so on. The answer for your problems
may already lie in the forum archives, so searching the
discussions is always the best way to begin.
- Report Bugs
-
If you have found a possible bug in Vaadin, the demo
applications, or the documentation, please report it by filing
a ticket at the Vaadin developer's site at http://dev.vaadin.com/. You
may want to check the existing tickets before filing a new
one. You can make a ticket to make a request for a new
feature as well, or to suggest modifications to an existing
feature.
- Commercial Support
-
IT Mill offers full commercial support and training services
for the Vaadin products. Read more about the commercial products
at http://vaadin.com/pro
for details.
Marko Grönroos is a professional writer and software developer working at
IT Mill Ltd in Turku, Finland. He has been involved in web application
development since 1994 and has worked on several application development
frameworks in C, C++, and Java. He has been active in many open source
software projects and holds an M.Sc. degree in Computer Science from the
University of Turku.
Much of the book is the result of close work within the development team
at IT Mill. Joonas Lehtinen, CEO of IT Mill Ltd, wrote the first outline
of the book, which became the basis for the first two chapters. Since
then, Marko Grönroos has become the primary author. The development team has
contributed several passages, answered numerous technical questions,
reviewed the manual, and made many corrections.
The contributors are (in chronological order):
- Joonas Lehtinen
- Jani Laakso
- Marko Grönroos
- Jouni Koivuviita
- Matti Tahvonen
- Artur Signell
- Marc Englund
- Henri Sara
Oy IT Mill Ltd is a Finnish software company specializing in the design
and development of Rich Internet Applications. The company offers
planning, implementation, and support services for the software projects
of its customers, as well as sub-contract software development. Vaadin,
previously known as IT Mill Toolkit, is the flagship open source product
of the company, for which it provides commercial development and support
services.
| |
|