Vaadin 7 UI Design By Example: Beginners Guide
()
About this ebook
Related to Vaadin 7 UI Design By Example
Related ebooks
Responsive Web Design by Example : Beginner's Guide - Second Edition Rating: 0 out of 5 stars0 ratingsUX and UI Design, A Case Study On Approaches To User Experience And Interface Architecture Rating: 0 out of 5 stars0 ratingsBridging UX and Web Development: Better Results through Team Integration Rating: 0 out of 5 stars0 ratingsUX Tools Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsUser Experience Design Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsCreating Dynamic UI with Android Fragments Rating: 0 out of 5 stars0 ratingsAngular 9 UI/UX Mastery Rating: 0 out of 5 stars0 ratingsWhen I Grow up I Want to Be a UX Designer, Dad Rating: 0 out of 5 stars0 ratingsUx UI Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsCreative @ Work Rating: 0 out of 5 stars0 ratingsDesigning User Interfaces: Exploring User Interfaces, UI Elements, Design Prototypes and the Figma UI Design Tool (English Edition) Rating: 0 out of 5 stars0 ratingsGet Agile: Scrum for ux, design & development Rating: 4 out of 5 stars4/5User Interface Design A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsLearning Material Design Rating: 4 out of 5 stars4/5Methodological UX Design A Complete Guide Rating: 0 out of 5 stars0 ratingsUser Experience A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsCreative Culture: Human-Centered Interaction, Design, & Inspiration Rating: 0 out of 5 stars0 ratingsDesigning Ai Companions: How to Create Empathic Ai Experiences Rating: 0 out of 5 stars0 ratingsThe UX Five-Second Rules: Guidelines for User Experience Design's Simplest Testing Technique Rating: 0 out of 5 stars0 ratingsProject Management For UX Design Mastery: Navigating Project Management Rating: 0 out of 5 stars0 ratingsDesign for Emotion Rating: 0 out of 5 stars0 ratingsLess Web Development Cookbook Rating: 0 out of 5 stars0 ratingsVisual Designer Second Edition Rating: 0 out of 5 stars0 ratingsWeb Bloopers: 60 Common Web Design Mistakes, and How to Avoid Them Rating: 4 out of 5 stars4/5Coordinating User Interfaces for Consistency Rating: 5 out of 5 stars5/5Agile User Experience Design: A Practitioner’s Guide to Making It Work Rating: 0 out of 5 stars0 ratingsBecoming a UX Designer: A Comprehensive Guide to Launch Your UX Career Rating: 0 out of 5 stars0 ratingsMobile Web Performance Optimization Rating: 0 out of 5 stars0 ratingsUser Experience A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsUX: Essential Tools Rating: 0 out of 5 stars0 ratings
Programming For You
Python: For Beginners A Crash Course Guide To Learn Python in 1 Week Rating: 4 out of 5 stars4/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5HTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Linux: Learn in 24 Hours Rating: 5 out of 5 stars5/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5Java for Beginners: A Crash Course to Learn Java Programming in 1 Week Rating: 5 out of 5 stars5/5SQL: For Beginners: Your Guide To Easily Learn SQL Programming in 7 Days Rating: 5 out of 5 stars5/5Learn SQL in 24 Hours Rating: 5 out of 5 stars5/5Pokemon Go: Guide + 20 Tips and Tricks You Must Read Hints, Tricks, Tips, Secrets, Android, iOS Rating: 5 out of 5 stars5/5101 Amazing Nintendo NES Facts: Includes facts about the Famicom Rating: 4 out of 5 stars4/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5The Unofficial Guide to Open Broadcaster Software: OBS: The World's Most Popular Free Live-Streaming Application Rating: 0 out of 5 stars0 ratingsReactJS by Example - Building Modern Web Applications with React Rating: 4 out of 5 stars4/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratingsLearn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 0 out of 5 stars0 ratingsWeb Designer's Idea Book, Volume 4: Inspiration from the Best Web Design Trends, Themes and Styles Rating: 4 out of 5 stars4/5Python Projects for Beginners: A Ten-Week Bootcamp Approach to Python Programming Rating: 0 out of 5 stars0 ratings
Reviews for Vaadin 7 UI Design By Example
0 ratings0 reviews
Book preview
Vaadin 7 UI Design By Example - Alejandro Duarte
Table of Contents
Vaadin 7 UI Design By Example Beginner's Guide
Credits
About the Author
Acknowledgement
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
Time for action – heading
What just happened?
Pop quiz – heading
Have a go hero – heading
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Writing Your First Vaadin-powered Application
Creating and running Vaadin applications in Eclipse
Installing Eclipse
Time for action – downloading and installing Eclipse
What just happened?
Installing the Vaadin plugin for Eclipse
Time for action – installing the plugin
What just happened?
Installing Run Jetty Run plugin
Time for action – installing Jetty
What just happened?
Creating a new Vaadin project in Eclipse
Time for action – creating a new Vaadin project
What just happened?
Deploying and running Vaadin applications in Eclipse
Time for action – deploying and running
What just happened?
Creating and running Vaadin applications in NetBeans
Installing NetBeans
Time for action – downloading and installing NetBeans
What just happened?
Creating a new Vaadin project in NetBeans
Time for action – creating a new Vaadin project
What just happened?
Deploying and running Vaadin applications in NetBeans
Time for action – deploying and testing
What just happened?
Creating and running Vaadin applications using Maven
Vaadin 7 Maven archetype
Time for action – creating a new Vaadin project
What just happened?
Deploying and running Vaadin applications with Maven
Time for action – deploying and running
What just happened?
Generated application explained
Buttons
Labels
Have a go hero – display some HTML text
Layout margin
A more interesting hello world
application
Text fields
Time for action – using text fields
What just happened?
Notifications
Have a go hero – show notifications
Pop quiz – Vaadin fundamentals
Summary
2. Using Input Components and Forms – Time to Listen to Users
The Time It application
Time for action – separating business classes from UI classes
What just happened?
UI components as class members
Time for action – adding components as class members
What just happened?
Time for action – adding some infrastructure
What just happened?
Comboboxes
Time for action – adding a combobox
What just happened?
Responding to value changes
Getting and setting the value of input components
Tooltips
Immediate mode
Error indicators
Time for action – validating user input
What just happened?
Layout spacing
Time for action – adding input component into the layout
What just happened?
Checkboxes
Removing components from layouts
Time for action – running the test set
What just happened?
Have a go hero – add a validation to Time It
Time for action – showing the results
What just happened?
Thinking in Vaadin
Servlets and GWT
UI components hierarchy
Component
Vaadin's data model
Time for action – binding data to properties
What just happened?
Items
Containers
More input components
Text area
Have a go hero – disable word wrap
Rich text area
Option groups
Time for action – fixing the OptionGroup example
What just happened?
Have a go hero – improve the OptionGroup example
Twin column selects
Date/time pickers
Time for action – using an InlineDateField component
What just happened?
Uploading files
Pop quiz – thinking in Vaadin
Summary
3. Arranging Components into Layouts
Horizontal layouts
Time for action – the main layout
What just happened?
Components size
Time for action – visualizing borders
What just happened?
Time for action – setting layouts size
What just happened?
Expand ratio
Time for action – expanding components
What just happened?
Split panels
Time for action – using split panels
What just happened?
Implementing a button-based menu
Time for action – adding menu options
What just happened?
Have a go hero – add a public method to set the header
Grid layouts
Time for action – using grid layouts
What just happened?
Have a go hero – open their eyes
Have a go hero – expand components in GridLayout
Absolute layouts
Time for action – using absolute layouts
What just happened?
Click listeners
Time for action – adding click listeners
What just happened?
Have a go hero – get more data from click events
Form layouts
Time for action – using FormLayout
What just happened?
Panels
Time for action – using panels
What just happened?
Tab sheets
Accordions
Have a go hero – find the disobedient line of code
Windows
Pop quiz – mastering layouts
Summary
4. Using Vaadin Navigation Capabilities
Getting request information
Path info
Time for action – developing a simple website
What just happened?
Parameters
Time for action – reading request parameters
What just happened?
Fragments
Have a go hero – take a look at the Vaadin API documentation
Changing the browser title
Navigators and views
Time for action – using navigators
What just happened?
Time for action – navigating programmatically
What just happened?
Keeping state after refresh
Time for action – preserving application state
What just happened?
User session
Menus
Shortcut keys
Shortcuts for buttons
Time for action – a tedious application
What just happened?
Have a go hero – improve user experience
Shortcuts for Window and Panel
Pop quiz – navigation capabilities
Summary
5. Using Tables – Time to Talk to Users
Tables
Time for action – my first table
What just happened?
Headers
Clicking on headers
Footers
Clicking on footers
Boxwords game
Time for action – implementing the game UI
What just happened?
Page length
Selecting items in tables
Time for action – listening to clicks
What just happened?
Reading data from tables
Time for action – finishing the game
What just happened?
Editable tables
Table field factories
Time for action – using a custom field factory
What just happened?
Understanding generated columns
Collapsing and reordering columns
Have a go hero – activate column reordering powers
Pop quiz – mastering tables
Summary
6. Adding More Components
Trees
Time for action – my first tree
What just happened?
Tree events
Tree tables
Time for action – a file browser
What just happened?
Have a go hero – use TreeTable or Tree interchangeably
Progress indicators
Icons
Time for action – adding icons
What just happened?
Images, Flash, video, audio, and other web content
Time for action – render web content
What just happened?
Sliders
Color picker
Have a go hero – experiment with ColorPicker
File download
Context menus
Drag-and-drop
Have a go hero – study a drag-and-drop example
Pop quiz – more components
Summary
7. Customizing UI Components – Time to Theme it
Vaadin themes
Time for action – changing themes
What just happened?
Introduction to CSS and Sass
Variables
Nesting
Mixins
Introducing Firebug and Chrome inspector
Time for action – inspecting HTML
What just happened?
Creating new themes
Time for action – creating a new Vaadin theme
What just happened?
Styling labels
Time for action – creating a new Vaadin theme
What just happened?
Adding CSS classes to components
Styling text fields
Styling buttons
Styling panels
Styling menus
Styling tables
Pop quiz – Vaadin themes
Summary
8. Developing Your Own Components
Custom components
Time for action – creating a custom component
What just happened?
Client side applications
Time for action – creating a client side application
What just happened?
Have a go hero – check that the app is purely client side
Widgets
Time for action – creating a widget
What just happened?
Remote procedure calls
Extensions
Time for action – creating an extension
What just happened?
Have a go hero – experiment with GWT handlers
Custom JavaScript
Calling JavaScript from the server
Calling the server from JavaScript
JavaScript components
Time for action – creating a JavaScript component
What just happened?
JavaScript extensions
Have a go hero – implement a JavaScript extension
Pop quiz – CustomComponents
Summary
A. Pop Quiz Answers
Chapter 1, Writing Your First Vaadin-powered Application
Pop quiz – Vaadin fundamentals
Chapter 2, Using Input Components and Forms – Time to Listen to Users
Pop quiz – thinking in Vaadin
Chapter 3, Arranging Components into Layouts
Pop quiz – mastering layouts
Chapter 4, Using Vaadin Navigation Capabilities
Pop quiz – navigation capabilities
Chapter 5, Using Tables – Time to Talk to Users
Pop quiz – mastering tables
Chapter 6, Adding More Components
Pop quiz – more components
Chapter 7, Customizing UI Components – Time to Theme it
Pop quiz – Vaadin themes
Chapter 8, Developing Your Own Components
Pop quiz – custom components
Index
Vaadin 7 UI Design By Example Beginner's Guide
Vaadin 7 UI Design By Example Beginner's Guide
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: July 2013
Production Reference: 1190713
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78216-226-1
www.packtpub.com
Cover Image by Jarek Blaminsky (<milak6@wp.pl>)
Credits
Author
Alejandro Duarte
Reviewers
Martin Cremer
Max Matveev
Henri Muurimaa
Michael Vogt
Acquisition Editor
Martin Bell
Lead Technical Editor
Arun Nadar
Technical Editors
Mrunmayee Patil
Pragati Singh
Hardik B. Soni
Project Coordinator
Shiksha Chaturvedi
Proofreader
Mario Cecere
Indexer
Monica Ajmera Mehta
Graphics
Ronak Dhruv
Production Coordinators
Arvindkumar Gupta
Kirtee Singhan
Cover Work
Arvindkumar Gupta
About the Author
Alejandro Duarte learned how to program at age 13 using the Basic language on a black screen with a blinking cursor. He used to spend hours thinking of ideas for software that would be good to have and even more hours bringing these ideas to life. Alejandro graduated from National University of Colombia with a BS in Computer Science and has been involved in many Java-related software development projects. He first started working with Struts 2 and quickly switched to more RIA friendly frameworks such as Grails, jQuery, GWT, and Vaadin. Alejandro is the author of the Enterprise App for Vaadin add-on and InfoDoc Pro, both open source projects based on the Vaadin framework. He currently works as a developer for several companies and customers mainly in Colombia, Chile, India, Kenya, and the UK.
When not writing code, Alejandro splits his free time between his family, his beautiful girlfriend, and his passion for the electric guitar. You can contact him at <alejandro.d.a@gmail.com> or through his personal blog http://www.alejandrodu.com. If you are feeling social, you can follow him on Twitter at @alejandro_du.
Acknowledgement
I would like to thank the entire team from Packt Publishing, Ashvini, Martin, Shiksha, and Arun, thanks for trusting me. I thank all the technical reviewers and proofreaders for providing me with valuable feedback from which I have learned a lot. Thanks to Mario Pérez and Camilo Gonzáles from National University of Colombia for introducing me as a professional to the world of software development. Thanks to Colombitrade and all Enterprise App for Vaadin users for their support and confidence. A special thanks to the Vaadin team and community for providing such a terrific framework and knowledge base with tons of articles and useful resources. Hope this book reciprocally contributes back to the community.
I can't thank my parents enough for being so helpful and supportive. I would never have written this book without their constant support and exemplary way of teaching. There's no better teacher than a good parent. A special thanks to my brothers, Juan and Edgar, and my cousins, Marcelo, Camilo, and Jonathan, with whom I took my first steps in programming and created a fictional software development company when we were children, DPA Software. Thanks to my sister for her amusing company while writing this book. Last but not least, thank you Viviana for your encouragement when reaching deadlines and for all those beautiful moments you have gave me.
About the Reviewers
Martin Cremer is working as an architect for a company in the financial sector. His work focuses on maintaining and developing reference architecture for web-based enterprise applications with Vaadin as well as supporting developers in their daily work.
Max Matveev is a software development expert with 12 years of expertise in software development. Originally from Khabarovsk, Russia, he is currently living in Zurich, Switzerland and working for one of the largest Swiss banks as the Technical Lead.
With main focus on Enterprise Java, he is experienced in all areas of enterprise software development ranging from backend data processing to modern rich UI web applications.
Always looking for the best user experience possible he is one of those who allowed Vaadin to become one of the bank's standard frameworks for building UI.
In addition to his main work, Max is also author of some popular (with over one million downloads) indie iOS applications. Data processing requirements for the huge user base allowed him to become one of the main pre-production tester of Jelastic SaaS platform during the platform's beta period.
Michael Vogt started in 2000 at Apple, Germany as a WebObjects developer. Since then, he worked in many different companies and countries, mostly as a freelancer on GWT projects. Currently he works in the services department of Vaadin.
www.PacktPub.com
Support files, eBooks, discount offers and more
You might want