Nota: Traducido de la versión original en Inglés.
Vaadin Flow es un framework web de código abierto y gratuito para desarrolladores de Java. Permite implementar una aplicación web sin necesidad de programar en JavaScript o HTML. Mira el siguiente ejemplo:
@Route("")
public class MainView extends VerticalLayout {
public MainView() {
TextField textField = new TextField("Ingresa tu nombre");
Button button = new Button("Haz clic aquí", evento ->
add(new Label("Hola desde el servidor, " + textField.getValue())));
add(textField, button);
}
}
Si despliegas esto en un servidor Java, obtendrás lo siguiente:
Dado que el código de la interfaz de usuario se ejecuta en el lado del servidor (backend), puedes depurarlo utilizando las herramientas que tu IDE de Java preferido provee. Por ejemplo, aquí estamos añadiendo un punto de interrupción en la línea que se invoca al hacer clic en el botón:
Estas son algunas cosas interesantes sobre Vaadin Flow:
- Puedes utilizar un solo lenguaje de programación para implementar una aplicación web (Java o cualquier otro para la JVM).
- Puedes “conectar” fácilmente lógica de negocio Java: solo llama al método Java, sin necesidad de implementar servicios web REST y analizar JSON.
- Puedes “olvidarte” de ciertos problemas de seguridad. Por ejemplo, si un botón está deshabilitado y un usuario malintencionado lo habilita, por ejemplo, con Chrome DevTools en el navegador y lo pulsa, el framework no invocaría de todos modos el listener del lado del servidor. Si un botón está deshabilitado, puedes estar seguro de que la lógica del servidor no será invocada.
- Curva de aprendizaje plana. Dado que el modelo de programación es más cercano al desarrollo de escritorio, los desarrolladores pueden comenzar a mantener aplicaciones fácilmente.
- Vaadin Flow incluye muchos componentes listos para usar, como ComboBox, DatePicker, Grid, Dialog, Checkbox, ProgressBar, Notification, Tabs y muchos otros.
- Puedes crear tus propios componentes de interfaz de usuario utilizando composición orientada a objetos, HTML y JavaScript.
- Facilita la integración de Web Components existentes. Por lo tanto, si encuentras o desarrollas un útil Web Component, puedes envolverlo en una clase Java del lado del servidor.
- Puedes manipular el DOM desde el lado del servidor. Tienes acceso completo al DOM subyacente en el navegador desde el servidor.
Y esto no es todo. Hay muchas más características interesantes en Vaadin Flow!