Cover image for Learning Vaadin 7.
Learning Vaadin 7.
Title:
Learning Vaadin 7.
Author:
Frankel, Nicolas.
ISBN:
9781782169789
Personal Author:
Edition:
2nd ed.
Physical Description:
1 online resource (475 pages)
Contents:
Learning Vaadin 7 Second Edition -- Table of Contents -- Learning Vaadin 7 -- Credits -- Foreword -- About the Author -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers, and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Vaadin and its Context -- Rich applications -- Application tiers -- Tier migration -- Mainframes -- Client server -- Thin clients -- Limitations of the thin-client applications approach -- Poor choice of controls -- Many unrelated technologies -- Browser compatibility -- Page flow paradigm -- Beyond the limits -- What are rich clients? -- Some rich client approaches -- Ajax -- Richness through a plugin -- Deploying and updating fat-client from the web -- Java Web Start -- Update sites -- Google Web Toolkit -- Why Vaadin? -- State of the market -- Importance of Vaadin -- Vaadin integration -- Integrated frameworks -- Integration platforms -- Using Vaadin in the real world -- Concerns about using a new technology -- Summary -- 2. Environment Setup -- Vaadin in Eclipse -- Setting up Eclipse -- When Eclipse is not installed -- Installing the Vaadin plugin -- Creating a server runtime -- Creating our first Eclipse Vaadin project -- Servlet mapping -- Testing our application -- When Eclipse is already installed -- Checking if WTP is present -- Adding WTP to Eclipse -- Vaadin in IntelliJ IDEA -- Setting up IntelliJ -- Adding the Vaadin 7 plugin -- Creating our first IntelliJ IDEA Vaadin project -- Adjusting the result -- Adding framework support -- Deploying the application automatically -- Testing the application -- Final touches -- Changing the Vaadin version.

Context-root -- Servlet mapping -- Vaadin and other IDEs -- Adding Vaadin libraries -- Creating the application -- Adding the servlet mapping -- Declaring the servlet class -- Declaring Vaadin's entry point -- Declaring the servlet mapping -- Summary -- 3. Hello Vaadin! -- Understanding Vaadin -- Vaadin's philosophy -- Vaadin's architecture -- Client-server communication -- HTTP protocol -- JSON message format -- The client part -- The server part -- Client-server synchronization -- Deploying a Vaadin application -- Inside the IDE -- Creating an IDE-managed server -- Selecting the tab -- Creating a server -- Verifying the installation -- Adding the application -- Launching the server -- Outside the IDE -- Creating the WAR -- Launching the server -- Using Vaadin applications -- Browsing Vaadin -- Out-of-the-box helpers -- The debug mode -- Restart the application, not the server -- Behind the surface -- Stream redirection to a Vaadin servlet -- Vaadin request handling -- What does a UI do? -- UI features -- UI configuration -- UI and session -- Scratching the surface -- The source code -- The generated code -- Things of interest -- Summary -- 4. Components and Layouts -- Thinking in components -- Terminology -- Component class design -- Component -- MethodEventSource -- Abstract client connector -- Abstract component -- Immediate mode -- UIs -- HasComponents -- Single component container -- UI -- Theming -- Panel -- Windows -- Window structure -- Customizing windows -- Basic configuration -- Location -- Modality -- Labels -- Label class hierarchy -- Property -- Label -- Formats -- Text inputs -- Conversion -- Validation -- Validator -- Validators hierarchy -- Error message -- Validatable -- Change buffer -- Buffered and validatable -- Input -- Focusable -- Field -- The text field -- Null -- Input prompt -- Cursor -- Selection.

A "real-world" text field example -- More Vaadin goodness -- Page -- Title -- Navigation -- URL fragment -- Third-party content -- Resources -- Browser window opener -- User messages -- The notification class -- Notifications additional properties -- Displaying notifications -- Laying out the components -- Size -- Layouts -- About layouts -- Component container -- Layout and abstract layout -- Layout types -- Simple layouts -- Advanced layouts -- Choosing the right layout -- Split panels -- Bringing it all together -- Introducing Twaattin -- The Twaattin design -- The login screen -- The main screen -- Let's code! -- Project setup -- Project sources -- UI -- The login screen -- The timeline screen -- Summary -- 5. Event Listener Model -- Event-driven model -- The observer pattern -- Enhancements to the pattern -- Event -- Event details -- Event types -- Events in Java EE -- UI events -- Client-server events -- Client events -- Limitations of URL and custom JavaScript for events -- Event model in Vaadin -- Standard event implementation -- Event class hierarchy -- Event -- Typed events -- Listener interfaces -- Window -- Managing listeners -- Method event source details -- Abstract component and event router -- Expanding our view -- Button -- Events outside UI -- User change event -- Architectural considerations -- Anonymous inner classes as listeners -- Components as listeners -- Presenters as listeners -- Services as listeners -- Conclusion on architecture -- Twaattin is back -- Project sources -- The UI -- The login screen -- The login behavior -- Additional features -- The timeline window -- The logout behavior -- Summary -- 6. Containers and Related Components -- Data binding -- Data binding properties -- Renderer and editor -- Buffering -- Data binding -- Data in Vaadin -- Entity abstraction -- Property -- AbstractProperty -- ObjectProperty.

Property formatter -- Handling changes -- Item -- Method property -- The right level of abstraction -- Field group -- Configuring field types -- Changing captions -- Group commit/discard -- Container -- Filtering and sorting -- Filterable -- Filter -- Ordered -- Item sorter -- Concrete indexed containers -- Hierarchical -- Containers and the GUI -- Container datasource -- Displaying items -- Handling new items -- Null items -- Container components -- Tables -- Table structure -- Columns -- Width -- Collapsing -- Header and footer -- Row header column -- Ordering and reordering -- Formatting properties and generated columns -- Sorting -- User sorting -- Programmatic sorting -- Viewpoint -- Viewpoint change event -- Improving responsiveness -- Editing -- Selection -- Drag-and-drop -- Transferable -- Drag source -- Drop target -- Accept criterion -- Table drag-and-drop -- Trees -- Collapse and expand -- Parent and child -- Item labels -- Refining Twaattin -- Prerequisites -- Adaptations -- Sources -- The login screen -- The login behavior -- The timeline screen -- The tweets refresh behavior -- Column generators -- Summary -- 7. Core Advanced Features -- Accessing the JavaEE API -- Servlet request -- Servlet response -- Wrapped session -- Navigation API -- URL fragment -- Views -- Navigator -- Initial view -- Error view -- Dynamic view providers -- Event model around the Navigation API -- Final word on the Navigator API -- Embedding Vaadin -- Basic embedding -- Nominal embedding -- Page headers -- The div proper -- The bootstrap script -- UI initialization call -- Real-world error handling -- The error messages -- Component error handling -- General error handling -- SQL container -- Architecture -- Features -- Queries and connections -- Database compatibility -- Joins -- References -- Free form queries -- Related add-ons -- Server push -- Push innards.

Installation -- How-to -- Example -- Twaattin improves! -- Ivy dependencies -- Twaattin UI -- Tweet refresher behavior -- Twitter service -- Summary -- 8. Featured Add-ons -- Vaadin add-ons directory -- Add-ons search -- Typology -- Stability -- Add-ons presentation -- Summarized view -- Detailed view -- Noteworthy add-ons -- Button group -- Prerequisites -- Core concepts -- GWT modules -- Widget sets -- How-to -- Conclusion -- Clara -- Prerequisites -- How-to -- XML -- Inflating -- Adding behavior -- Data sources -- Creating complex components -- Limitations -- Conclusion -- JPA Container -- Concepts -- Prerequisites -- Dependency -- Model -- Application server -- Download, install, and integrate -- Create the data source -- How-to -- Conclusion -- CDI Utils -- Core concepts -- Inversion of Control and Dependency Injection -- DI use cases -- Prerequisites -- How-to -- CDI injection -- Event observers -- Components declaration -- Conclusion -- Summary -- 9. Creating and Extending Components and Widgets -- Component composition -- Manual composition -- Designing custom components -- Graphic composition -- Visual editor setup -- Visual Designer use -- Position and size -- Limitations -- Restricted compatibility -- Top-level element -- Rigid structure -- Client-side extensions -- Connector architecture -- How-to -- Shared state -- How-to -- Server RPC -- Server RPC architecture -- How-to -- GWT widget wrapping -- Vaadin GWT architecture -- How-to server-side -- How-to client-side -- Widget styling -- Example -- Prerequisites -- Server component -- Client classes -- JavaScript wrapping -- How-to -- Example -- Prerequisites -- Core -- Componentized Twaattin -- Designing the component -- Updating Twaattin's code -- Data Transfer Object -- Status component -- Status converter -- Timeline screen -- Summary -- 10. Enterprise Integration -- Build tools.

Available tools.
Abstract:
This book begins with a tutorial on Vaadin 7, followed by a process of planning, analyzing, building, and deploying a fully functional RIA while covering troubleshooting details along the way, making it an invaluable resource for answers to all your Vaadin questions.If you are a Java developer with some experience in development either on JSP/Servlet or on Swing, and want to enter the world of rich Internet applications, then this technology and book is ideal for you. Learning Vaadin will be perfect as your next step towards building eye-catching, dynamic web applications on a Java-based platform.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: