diff options
Diffstat (limited to 'documentation/book-preface.asciidoc')
-rw-r--r-- | documentation/book-preface.asciidoc | 271 |
1 files changed, 265 insertions, 6 deletions
diff --git a/documentation/book-preface.asciidoc b/documentation/book-preface.asciidoc index c2ce8ee594..7803a9b502 100644 --- a/documentation/book-preface.asciidoc +++ b/documentation/book-preface.asciidoc @@ -1,12 +1,271 @@ ---- -title: Preface -order: 3 -layout: page ---- - +[[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. + + |