I started using Vaadin about a year ago and was really happy with the results. I got a nice looking web application written almost entirely in Java. I also found being able to work around the traditional MVC pattern refreshing. So, I was naturally interested to see what they would do for their version 10 release. (Side note: What’s the fear about the number nine? Windows 9, iPhone 9, Vaadin 9…all missing.)
I got notice a few months ago that the new version–branded Vaadin Flow–was released along with a new website. But when I clicked through, I was a bit confused to see Vaadin Components being proffered alongside the Java framework. As it turns out, their entire lineup pivoted to the Google Polymer JavaScript framework. It certainly feels like the company is trying to position themselves to be a competitor in the already-dense JavaScript world, with the Java framework playing second fiddle.
Now of course the party line is that Vaadin Flow is still a first-rate product, but peel back the marketing and you’ll see that it is severely lacking in features. The product was released without support for a ComboBox (it’s since been added) and Checkbox Groups, and the suggestion was to manually use HTML tags.
Several more components are listed as “Not Planned” with the most passive aggressive one being MenuBar: “A menu bar is a desktop pattern that is typically not suitable in a world of mobile first applications.”
The new framework isn’t without improvements. In particular, I liked the simplicity of using a @Route
annotation on a component to expose it as a view. It’s also much easier include custom CSS, eliminating the annoying cycle of making a CSS change, compiling the CSS, and relaunching the application.
// Simple! @HtmlImport("frontend://styles/shared-styles.html") @Route("") public class MyView extends Div { }
I’m hoping that this direction is just a temporary misjudgement on the part of the Vaadin team. I have no problems with Vaadin moving from GWT to Polymer, but worry that developing the JavaScript components at the expense of dropping features from Vaadin Flow is going to make the product much less appealing. The conspiracy theorist in me fears that this was planned to make Vaadin Flow so unused that they can justify dropping it completely. But hopefully there will be enough community feedback to make them reconsider their decision to drop features and make Vaadin Flow just as usable as Vaadin 8.