Saltar al contenido principal

Introduction

webforJ in six screens. The whole framework, start to finish.

webforJ is the full-stack Java framework for business web apps: you build the whole app, screens included, in Java. This tour walks through it in six short screens, from your first Java class to the AI tooling. It takes about five minutes.

  1. 01Qué es webforJ
  2. 02Componentes y tematización
  3. 03craftforJ
  4. 04Datos, formularios y seguridad
  5. 05Tu código existente
  6. 06Herramientas de IA y próximos pasos

01Qué es webforJ

Una pantalla es una clase de Java

webforJ es el framework Java full-stack para aplicaciones web empresariales: creas toda la aplicación, incluidas las pantallas, en Java.

  • Una ruta lo convierte en una página. Añade @Route a una clase y responderá en esa dirección en el navegador.
  • Los componentes son campos. Créelos con new y reacciona a los clics con una lambda.
  • Java o Kotlin. El DSL de Kotlin crea la misma pantalla con los mismos componentes.
Leer más: Kotlin DSL
HelloView.java
@Route("/hello")
public class HelloView extends Composite<FlexLayout> {
private final FlexLayout self = getBoundComponent();
private TextField name = new TextField("What is your name?");
private Button greet = new Button("Say hello");

public HelloView() {
greet.setTheme(ButtonTheme.PRIMARY)
.addClickListener(e ->
Toast.show("Welcome, " + name.getValue() + "!",
Theme.SUCCESS));
self.add(name, greet);
}
}
localhost:8080/helloDespués de hacer clic

La vista en ejecución muestra un campo de texto con la etiqueta «¿Cómo te llamas?», un botón «Di hola» y, después de hacer clic, una notificación de éxito que dice «¡Te damos la bienvenida, Lauren!».

02Componentes y temas

Componentes compilados para aplicaciones empresariales.

Los campos, las listas, los diálogos, las cargas de archivos, los gráficos, los árboles y los diseños vienen incluidos con webforJ. Cada uno es una clase Java que creas en tu pantalla.

La creación del tema parte de una semilla. Define la semilla principal y los 19 tonos de la paleta se ajustarán en todos los componentes.

app.css
:root {
--dwc-color-primary-seed: #6366f1;
}
Leer más: Componentes
El componente Login de webforJEl componente Login de webforJ
Login
El componente ComboBox de webforJEl componente ComboBox de webforJ
ComboBox
El componente Upload de webforJEl componente Upload de webforJ
Upload
El componente GoogleCharts de webforJEl componente GoogleCharts de webforJ
GoogleCharts
El componente Slider de webforJEl componente Slider de webforJ
Slider
El componente Terminal de webforJEl componente Terminal de webforJ
Terminal

03craftforJ

Mira la app que creó tu Java. Cámbialo mientras se ejecuta.

craftforJ es el editor visual que se ejecuta dentro de tu aplicación en modo de desarrollo. Muestra el árbol de componentes creado por tu código Java, te permite cambiar propiedades en tiempo real y guarda los cambios que conserves en el código fuente Java.

  • Inspeccionar componentes. Explora el árbol de componentes, selecciona uno haciendo clic en la página y cambia sus propiedades mientras la aplicación está en ejecución.
  • Escribir cambios en el código fuente. Revisa tus cambios en vivo en formato diff y aplícalos al archivo Java original.
  • El asistente de IA. Un agente de programación integrado en la aplicación en ejecución escribe Java, compila su código y lo aplica con tu aprobación.
Leer más: craftforJ
craftforJ

04Datos, formularios y seguridad

Formularios, reglas y acceso, junto a tu backend.

  • Vinculación BindingContext vincula los campos del formulario con un bean y comprueba sus reglas de validación de Jakarta al guardar el formulario.
  • Spring Boot. Las vistas reciben tus servicios, repositorios y otros beans de Spring mediante inyección por constructor.
  • Seguridad. Las anotaciones como @RolesAllowed protegen una ruta y las reglas se aplican antes de renderizar cualquier componente.
Leer más: Galería
CustomerFormView.java
public class CustomerFormView extends Composite<FlexLayout> {
private TextField name = new TextField("Name");
private TextField email = new TextField("Email");
private Customer customer = new Customer();

private BindingContext<Customer> context =
BindingContext.of(this, Customer.class, true);

public CustomerFormView() {
Button save = new Button("Save", ButtonTheme.PRIMARY, e -> {
ValidationResult result = context.write(customer);
if (result.isValid()) {
Toast.show("Saved " + customer.getEmail(), Theme.SUCCESS);
}
});

getBoundComponent().add(name, email, save);
}
}

05Tu código existente viene contigo.

Traer el código Ya tienes.

WebswingConnector incrusta una aplicación Swing, JavaFX o SWT en ejecución en una vista de webforJ, así que la reescritura no tiene que hacerse de una sola vez.

ElementComposite envuelve un elemento HTML personalizado o componente web en una clase Java, con sus propiedades, atributos y eventos en Java.

Leer más: Webswing
  1. 1HoySwing en el escritorioAños de lógica de negocio, en funcionamiento día tras día.
  2. 2Paso unoLa misma app, en el navegador Webswing lo transmite al navegador sin modificar el código fuente.
  3. 3Desde allíwebforJ, pantalla por pantallaSustituye las pantallas de Swing por webforJ, una a una.
SwingAppView.java
@Route
public class SwingAppView extends Composite<Div> {
private final Div self = getBoundComponent();
private WebswingConnector connector;

public SwingAppView() {
// Initialize the connector with your Webswing application URL
connector = new WebswingConnector("http://localhost:8080/myapp/");

// Set the display dimensions
connector.setSize("100%", "600px");

// Add to the view container
self.add(connector);
}
}

06Herramientas de IA y próximos pasos

Tu asistente de IA sigue Convenciones de webforJ.

Una sola instalación del complemento de IA de webforJ proporciona a tu asistente de programación el servidor MCP de webforJ y Agent Skills.

El servidor le proporciona herramientas en tiempo real. Las habilidades indican cuándo usarlas, en qué orden y cómo verificar el resultado.

Leer más: Herramientas de IA
Terminal
claude plugin marketplace add webforj/webforj-ai
claude plugin install webforj@webforj-ai

MCP server

  • Selecciona la versión correcta de webforJ
  • Busca información en la base de conocimientos
  • Crear la estructura de un nuevo proyecto webforJ
  • Generar un tema de DWC
  • Estiliza correctamente los componentes DWC.
  • Trabajar con los tokens de diseño de DWC

Habilidades del agente

  • webforj-adding-servlets
  • webforj-building-forms
  • webforj-creating-components
  • webforj-handling-timers-and-async
  • webforj-localizing-apps
  • webforj-securing-apps
  • webforj-styling-apps
  • webforj-upgrading-versions

Recorrido completado

Esa era toda la pila. Ya estás listo para compilar.

Considérate certificado extraoficialmente: has visto cómo se construye una app de webforJ, desde la primera pantalla hasta las herramientas de IA que te ayudan a crear la siguiente.

  • Qué es webforJ
  • Componentes y tematización
  • craftforJ
  • Datos, formularios y seguridad
  • Tu código existente
  • Herramientas de IA y próximos pasos