Author: Matti Tahvonen
JWT authentication with Vaadin Flow - for better developer and user experience
JWT (JSON Web Token) is a popular way to handle authentication in stateless, browser-centric web UIs. Vaadin Flow runs its UI state and logic in the server memory – by design. Without that, Flow users couldn’t have the pure Java developer experience and simplicity they love. At first glance, it ...
A minimal zero-downtime deployment using nginx & Spring Boot
Starting Java web applications is not an instantaneous process. It is not rare to see tens of seconds for some applications to boot. Although you can get an almost instant startup time if you leave out Hibernate and run Quarkus on GraalVM, that’s not the reality we live in. During development, ...
Server-side Tetris with Vaadin Flow
The server-side nature of Vaadin Flow often causes concerns for those who evaluate it: The UI must be slow, as the UI logic is on the server and the “chatty” connection will bring the server to its knees. In this era, it can be hard to convince your boss or fellow engineers in the face of these ...
Data binding to Grid gets easier and more efficient
About a year ago, I discussed two common problems when doing lazy data binding to the Grid: the need for a count query and difficulties integrating with “paging backends”. That generated a lot of public and private discussion. The solutions are now available for testing. And while we were on the ...
Vaadin simplicity, now also in TypeScript
Vaadin has always provided a strong abstraction for web development. The component-based Java API and completely abstracted client-server programming model make development of web UIs as easy and efficient as developing traditional desktop apps. Because the UI code resides in the JVM, accessing ...
Uploads and downloads, inputs and outputs
Vaadin Upload asks the developer to provide an OutputStream where the framework can stream the file content. Vaadin StreamResource (~ download) asks the developer to provide an InputStream the framework can read and stream to a user. Intuitive? Not really, unless you have accustomed to this ...
Testing the UI without a browser
Martin Fowler has introduced a metaphor Test Pyramid, to suggest that you should only write a fraction of end-to-end tests compared to small unit tests. It is not because end-to-end tests, like the ones using Vaadin TestBench or Selenium, are worse. They are actually better as they test all parts ...
Vaadin Framework 8.1 is now stable
I’m pleased to announce that Vaadin Framework 8.1 is now declared as stable. As discussed earlier, it brings the much awaited component support to the Grid’s columns, Vaadin 8 style support for hierarchical data structures (Tree and TreeGrid), improved drag and drop support, and enhanced OSGi ...
Try out HTML5 drag-n-drop, components in Grid and TreeGrid today
Vaadin Framework 8.0 came out just a bit more than a month ago, but we are already pretty far with the next major feature enhancements. The top three new features in Vaadin 8.1 include (click links to see examples in Sampler): Component support in Grid. In 8.1 it is no more required to use custom ...