What apache-commons and Guava libraries does for Java, Viritin does it for Vaadin
Viritin is a server side enhancement library for Vaadin. It fixes some bad defaults in the core framework and provides more fluent and intelligent API for existing components. It also provides several major enhancements to databinding and provides completely new components made with server side composition (no widgetset is needed).
- Better typed API for Table, Grid and various select components, easier to get started, better readability, safer refactoring. Endorsing java.util.collections and basic Java beans over proprietary Container-Item-Property.
- Enhanced developer experience with extended basic layouts
- Lots of handy Field implementations e.g. for common relation types (@ManyToMany, @OneToMany, @ElementCollection in JPA terminology, but not tied to JPA)
- AbstractForm - a base class to avoid boilerplate code for basic entity editing
- Enhancements to core Fields and BeanFieldGroup, better defaults, enhanced end user UX with on the fly validation
- Setting browser cookies from basic Java code
- Really scalable "lazy loading" solutions for Vaadin Components (see MTable, LazyComboBox, ListContainer + LazyList)
- Often needed component compositions: PrimaryButton, ConfirmButton, DisclosurePanel ...
- Cross-field validation support
- Improved input fields
- Support for custom HTML5 input properties (autocomplete, autocorrect...)
- IntegerField (numeric keyboard on mobile devices, only accepts numbers, type of the field is Integer)
- EmailField (email keyboard on mobile devices)
There is already a huge set of enhancements, couple of them are highlighted below. For a more complete view of what is provided, check out the project page in github for more details listing of examples. There is always room for enhancements and the project is easy to check out for development, so join the effort in github!