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.
01Wat is webforJ?
Een scherm is een Java-klasse
webforJ is het full-stack Java-framework voor zakelijke webapps: je bouwt de hele app, inclusief schermen, in Java.
- Een route maakt er een pagina van. Voeg
@Routetoe aan een klasse en deze reageert in de browser op dat adres. - Componenten zijn velden. Maak ze aan met
newen reageer op klikken met een lambda. - Java of Kotlin. De Kotlin DSL bouwt hetzelfde scherm met dezelfde componenten.
@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);
}
}
De actieve weergave toont een tekstveld met het label Hoe heet je?, een knop Zeg hallo en na een klik een succesmelding met Welkom, Lauren!
02Componenten en thema's
Componenten gebouwd voor zakelijke apps.
Velden, lijsten, dialogen, uploads, grafieken, bomen en layouts zijn inbegrepen bij webforJ. Elk is een Java-klasse die je op je scherm aanmaakt.
Theming begint met een basiskleur. Stel de primaire basiskleur in en alle 19 tinten van het palet volgen, in elk component.
:root {
--dwc-color-primary-seed: #6366f1;
}












03craftforJ
Bekijk de app die je met Java hebt gebouwd. Wijzig het terwijl het draait.
craftforJ is de visuele editor die in de ontwikkelmodus in je app draait. Je ziet de componentenboom die je Java-code heeft gemaakt, kunt eigenschappen live aanpassen en de wijzigingen die je behoudt terugschrijven naar je Java-broncode.
- Componenten inspecteren. Blader door de componentenboom, selecteer een component door erop te klikken en wijzig de eigenschappen terwijl de app actief is.
- Schrijf wijzigingen naar de bron. Controleer je live bewerkingen als diff en pas ze toe op het oorspronkelijke Java-bestand.
- De AI-assistent. Een codeeragent in de actieve app schrijft Java-code, compileert die en past deze toe na jouw goedkeuring.
04Data, formulieren en beveiliging
Formulieren, regels en toegang, naast je backend.
- Koppeling
BindingContextkoppelt de formuliervelden aan een bean en controleert de Jakarta-validatieregels wanneer je het formulier terugschrijft. - Spring Boot. Views ontvangen je services, repositories en andere Spring-beans via constructorinjectie.
- Beveiliging. Annotaties zoals
@RolesAllowedbeveiligen een route en de regels worden gehandhaafd voordat er een component wordt gerenderd.
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);
}
}
05Je bestaande code gaat mee.
Neem de code mee Je hebt het al.
Met WebswingConnector plaats je een actieve Swing-, JavaFX- of SWT-app in een webforJ-weergave, zodat je die nooit in één keer hoeft te herschrijven.
ElementComposite verpakt een aangepast HTML-element of webcomponent in een Java-klasse, met de eigenschappen, attributen en gebeurtenissen ervan in Java.
- 1VandaagSwing op het bureaubladJaren aan bedrijfslogica, elke dag in bedrijf.
- 2Stap éénDezelfde app, in de browser Webswing streamt het naar de browser zonder de bron te wijzigen.
- 3Vanaf daarwebforJ, scherm voor schermVervang Swing-schermen één voor één door webforJ.
@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);
}
}
06AI-tools en wat nu?
Je AI-assistent volgt webforJ-conventies.
Met één installatie van de webforJ AI-plugin krijgt je codeerassistent de webforJ MCP-server en Agent Skills.
De server biedt live tools. De vaardigheden geven aan wanneer je ze moet gebruiken, in welke volgorde en hoe je het resultaat controleert.
Lees meer: AI-toolsclaude plugin marketplace add webforj/webforj-ai
claude plugin install webforj@webforj-ai
MCP server
- Kies de juiste webforJ-versie
- Zoek dingen op in de kennisbank
- Nieuw webforJ-project aanmaken
- Genereer een DWC-thema
- Geef DWC-componenten de juiste opmaak.
- Werk met DWC-design tokens
Agentvaardigheden
- 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
Rondleiding voltooid
Dat was de hele stack. Je bent klaar om te bouwen.
Je mag jezelf onofficieel gecertificeerd noemen: je hebt gezien hoe een webforJ-app wordt opgebouwd, van het eerste scherm tot de AI-tools die je helpen het volgende scherm te maken.
- Wat is webforJ?
- Componenten en thema's
- craftforJ
- Data, formulieren en beveiliging
- Je bestaande code
- AI-tools en volgende stops
Je volgende halte
- AanmakenStart een projectGenereer een project met startforJ of het Maven-archetype en voer het uit.
- LerenVolg de tutorialBouw stap voor stap een werkende app, van het eerste scherm tot en met de validatie.
- BouwenComponentenElk component met de bijbehorende API en live voorbeelden op de pagina.
- OntdekkerenStartpagina documentatieEen compleet overzicht van de documentatie, gegroepeerd op basis van wat je wilt doen.