|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- [[preface]]
- [preface]
- []
- == Preface
-
- This book provides an overview of the Vaadin Framework and covers the most
- important topics that you might encounter while developing applications with it.
- A more detailed documentation of the individual classes, interfaces, and methods
- is given in the Vaadin API Reference.
-
- This edition mostly covers Vaadin Framework 7.5 released in 2015, as well as the
- latest versions of Vaadin Pro Tools. In addition to updates in the core
- framework, the Volume 1 includes a new chapter about the new Vaadin Designer
- plugin for Eclipse. New add-ons, namely Vaadin Spreadsheet, Vaadin CDI, and
- Vaadin Spring, which were released earlier this year, are documented in Volume
- 2.
-
- Writing this manual is an ongoing work and it is rarely completely up-to-date
- with the quick-evolving product. Some features may not be included in this book
- yet. For the most current version, please see the on-line edition available at
- http://vaadin.com/book. You can also find PDF and EPUB versions of the book
- there. You may find the other versions more easily searchable than the printed
- book. The index in the book is incomplete and will be expanded later. The web
- edition also has some additional technical content, such as some example code
- and additional sections that you may need when actually doing development. The
- purpose of the slightly abridged print edition is more to be an introductionary
- textbook to Vaadin, and still fit in your pocket.
-
- Also, many Vaadin 7 features are showcased as mini-tutorials, which are
- available in the Vaadin Wiki at https://vaadin.com/wiki/-/wiki/Main/Vaadin+7.
-
- = Who is This Book For?
-
- 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 at least as easy to begin learning Java with Vaadin as with any other
- UI framework. 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 do not 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.
-
- Volume 1
-
- <<dummy/../../../framework/introduction/introduction-overview.asciidoc#intro.overview,"Introduction">>:: The chapter gives an introduction to the application architecture supported by
- Vaadin, the core design ideas behind the framework, and some historical
- background.
-
- <<dummy/../../../framework/getting-started/getting-started-overview.asciidoc#getting-started.overview,"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.
-
- <<dummy/../../../framework/architecture/architecture-overview.asciidoc#architecture.overview,"Architecture">>:: This chapter gives an introduction to the architecture of Vaadin and its major
- technologies, including AJAX, Google Web Toolkit, and event-driven programming.
-
- <<dummy/../../../framework/application/application-overview.asciidoc#application.overview,"Writing a Server-Side 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.
-
- <<dummy/../../../framework/components/components-overview.asciidoc#components.overview,"User Interface Components">>:: This chapter gives the basic usage documentation for all the (non-layout) user
- interface components in Vaadin and their most significant features. The
- component sections include examples for using each component, as well as for
- styling with CSS/Sass.
-
- <<dummy/../../../framework/layout/layout-overview.asciidoc#layout.overview,"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.
-
- <<dummy/../../../designer/designer-overview.asciidoc#designer.overview,"Vaadin Designer">>:: This chapter gives instructions for using Vaadin Designer, a visual tool for the
- Eclipse IDE for creating composite designs, such as for UIs, views, or other
- composites.
-
-
-
- Volume 2:
-
- <<dummy/../../../framework/themes/themes-overview.asciidoc#themes.overview,"Themes">>:: This chapter gives an introduction to Cascading Style Sheets (CSS) and Sass and
- explains how you can use them to build custom visual themes for your
- application.
-
- <<dummy/../../../framework/datamodel/datamodel-overview.asciidoc#datamodel.overview,"Binding Components to Data">>:: This chapter gives an overview of the built-in data model of Vaadin, consisting
- of properties, items, and containers.
-
- <<dummy/../../../framework/sqlcontainer/sqlcontainer-overview.asciidoc#sqlcontainer.overview,"Vaadin SQLContainer">>:: This chapter gives documentation for the SQLContainer, which allows binding
- Vaadin components to SQL queries.
-
- <<dummy/../../../framework/advanced/advanced-overview.asciidoc#advanced.overview,"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.
-
- <<dummy/../../../framework/portal/portal-overview.asciidoc#portal.overview,"Portal Integration">>:: This chapter describes the development of Vaadin applications as portlets which
- you can deploy to any portal supporting Java Portlet API 2.0 (JSR-286). The
- chapter also describes the special support for Liferay and the Control Panel,
- IPC, and WSRP add-ons.
-
- <<dummy/../../../framework/clientside/clientside-overview.asciidoc#clientside.overview,"Client-Side Vaadin Development">>:: This chapter gives an introduction to creating and developing client-side
- applications and widgets, including installation, compilation, and debugging.
-
- <<dummy/../../../framework/clientsideapp/clientsideapp-overview.asciidoc#clientsideapp.overview,"Client-Side Applications">>:: This chapter describes how to develop client-side applications and how to
- integrate them with a back-end service.
-
- <<dummy/../../../framework/clientsidewidgets/clientsidewidgets-overview.asciidoc#clientsidewidgets.overview,"Client-Side Widgets">>:: This chapter describes the built-in widgets (client-side components) available
- for client-side development. The built-in widgets include Google Web Toolkit
- widgets as well as Vaadin widgets.
-
- <<dummy/../../../framework/gwt/gwt-overview.asciidoc#gwt.overview,"Integrating with the Server-Side">>:: This chapter describes how to integrate client-side widgets with their
- server-side counterparts for the purpose of creating new server-side components.
- The chapter also covers integrating JavaScript components.
-
-
-
- <<dummy/../../../framework/addons/addons-overview.asciidoc#addons.overview,"Using Vaadin Add-ons">>:: This chapter gives instructions for downloading and installing add-on components
- from the Vaadin Directory.
-
- <<dummy/../../../charts/charts-overview.asciidoc#charts.overview,"Vaadin Charts">>:: This chapter documents the use of the Vaadin Charts add-on component for
- interactive charting with many diagram types. The add-on includes the Chart and
- Timeline components.
-
- <<dummy/../../../framework/jpacontainer/jpacontainer-overview.asciidoc#jpacontainer.overview,"Vaadin JPAContainer">>:: This chapter gives documentation of the JPAContainer add-on, which allows
- binding Vaadin components directly to relational and other databases using Java
- Persistence API (JPA).
-
- <<dummy/../../../mobile/mobile-overview.asciidoc#mobile.overview,"Mobile Applications with TouchKit">>:: This chapter gives examples and reference documentation for using the Vaadin
- TouchKit add-on for developing mobile applications.
-
- <<dummy/../../../spreadsheet/spreadsheet-overview.asciidoc#spreadsheet.overview,"Vaadin Spreadsheet">>:: This chapter gives documentation of the Vaadin Spreadsheet add-on, which
- provides a Microsoft Excel compatible spreadsheet component.
-
- <<dummy/../../../testbench/testbench-overview.asciidoc#testbench.overview,"Vaadin TestBench">>:: This chapter gives the complete documentation of using the Vaadin TestBench tool
- for recording and executing user interface regression tests of Vaadin
- applications.
-
-
-
-
- = Supplementary Material
-
- The Vaadin 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 most important demo application for Vaadin is the Sampler, which
- demonstrates the use of all basic components and features. You can run it
- on-line at http://demo.vaadin.com/ or download it as a WAR from the
- link:http://vaadin.com/download/[Vaadin download page].
-
- +
- Most of the code examples in this book and many others can be found online at
- http://demo.vaadin.com/book-examples-vaadin7/book/.
-
- Cheat Sheet:: The two-page cheat sheet illustrates the basic relationship hierarchy of the
- user interface and data binding classes and interfaces. You can download it at
- http://vaadin.com/book.
-
- Refcard:: The six-page DZone Refcard gives an overview to application development with
- Vaadin. It includes a diagram of the user interface and data binding classes and
- interfaces. You can find more information about it at
- https://vaadin.com/refcard.
-
- 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 link:http://dev.vaadin.com/[Vaadin
- web-site].
-
-
-
-
- = Support
-
- Stuck with a problem? No need to lose your hair over it, the Vaadin Framework
- developer community and the Vaadin company offer support to all of your needs.
-
- Community Support Forum:: You can find the user and developer community forum at http://vaadin.com/forum.
- Please use the forum to discuss any problems you might encounter, wishes for
- features, and so on. The answer to 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:: Vaadin offers full commercial support and training services for the Vaadin
- Framework and related products. Read more about the commercial products at
- http://vaadin.com/pro for details.
-
-
-
-
- = About the Author
-
- Marko Grönroos is a professional writer and software developer working at Vaadin
- 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.
-
-
- = Acknowledgements
-
- Much of the book is the result of close work within the development team at
- Vaadin Ltd. Joonas Lehtinen, CEO of Vaadin 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 and editor. The development team has
- contributed several passages, answered numerous technical questions, reviewed
- the manual, and made many corrections.
-
- The contributors are (in rough chronological order):
-
- [options="compact"]
- * Joonas Lehtinen
- * Jani Laakso
- * Marko Grönroos
- * Jouni Koivuviita
- * Matti Tahvonen
- * Artur Signell
- * Marc Englund
- * Henri Sara
- * Jonatan Kronqvist
- * Mikael Grankvist (TestBench)
- * Teppo Kurki (SQLContainer)
- * Tomi Virtanen (Calendar)
- * Risto Yrjänä (Calendar)
- * John Ahlroos (Timeline)
- * Petter Holmström (JPAContainer)
- * Leif Åstrand
- * Guillermo Alvarez (Charts)
-
-
- = About Vaadin Ltd
-
- Vaadin 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 Framework, previously known
- as IT Mill Toolkit, is the flagship open source product of the company, for
- which it provides commercial development and support services.
-
-
|