A tree grid on a blue background

Inheritance vs Composition in Web Components

As developers, we strive for efficiency – not only in our code, but also in the software development process itself. One way to achieve this efficiency is to avoid redundancy and prioritize code reuse, so that we do not end up reinventing the wheel. Two tools that we have in our arsenal to achieve ...

Hot-deploy your code – keep focus on your work

Time is money. Something that I still don’t get is that many Java developers spend a lot of it (time and money) while waiting to see their latest code changes in action. JVM is known for its great peak performance when serving large numbers of users, but our tooling isn’t by default that well ...

Reactive endpoints: pushing data to the frontend

Despite being on the web where millions or billions of people move around every day, web applications always tend to start out as being single-user applications. Not in the sense that only one user can log in or one user can use the application at a time but, as a user of the application, you don’t ...

It’s time for hardware multi-factor authentication

Proper use of multi-factor authentication could stop most of the cyberattacks we see today, yet adoption remains low. Good security is usually at the expense of convenience, and multi-factor solutions that are easy to use are hard to implement. Fortunately, technology can be used to offset this ...

How to improve the performance of your web application

Improving a web application’s performance becomes more important as the number of concurrent users the application has. There are several reasons to enhance the performance of your web application, even if you do not have a huge amount of concurrent users. Here are a few of the benefits of doing ...

Vaadin meets Vert.x

Vaadin server-side applications usually run in a servlet container, such as Jetty, Tomcat, or Undertow. However, Vaadin is not limited to these environments. The Vaadin building blocks are wisely designed on top of abstractions—VaadinRequest, VaadinResponse, VaadinService, VaadinSession, and ...

Building and maintaining the component library of a design system

The main purpose of adopting and using a design system is to ensure consistency with minimal time and effort in the long run. However, there’s no such thing as a “free lunch”. The trade-off of a design system is the time and effort required to implement and maintain it. It’s an investment, but you ...

Future of HTML templates in Vaadin

Late last year, we announced that we are gradually moving away from Google's Polymer JavaScript library in favor of the far more lightweight and performant LitElement library. The next LTS, which is currently targeted for the latter half of 2021, will make Polymer optional for HTML templates. Using ...
Vaadin, Angular and React comparison tool

New Vaadin, Angular and React comparison tool

One of the most natural ways of learning for us humans (sorry, Google bot) is to compare new concepts we come across with something we already know from before. "What's a dosa?" — It's like a savory Indian crepe made with fermented rice and lentil dough and filled with deliciousness. "How is the ...