Skip to content
webforjPublic

About

Full-stack Java framework for business web apps: UI to data in Java, any backend (standalone or Spring Boot), AI-ready, and a screen-by-screen path from Swing to the web.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

79 stars

Watchers

6 watching

Forks

Latest commit

 

History

1,860 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

webforJ: the full-stack Java framework for building business web apps and modernizing Swing apps in Java

Java is all you need.

webforJ is the full-stack Java framework for business web apps: you build the whole app in Java, screens included, with no JavaScript and no REST layer to maintain. It works with any backend, standalone or with Spring Boot, it's AI-ready, and your Swing apps come along.

Maven Central License: MIT Verify Quality Gate Status OpenSSF Best Practices

Start your first app · Documentation · Blog · Book a call

Just Java, from screen to data

A Java web framework and a Java UI framework in one: components, routing, forms with binding and validation, tables, security, translation and tests. Your views are Java classes, and your Spring services go straight into them. Data comes from Spring Data, JPA or any source through a repository.

@Route("/orders")
public class OrdersView extends Composite<FlexLayout> {
  private final FlexLayout self = getBoundComponent();
  private final Table<Order> table = new Table<>();

  public OrdersView(OrderService orders) {
    table.addColumn("Order", Order::number);
    table.addColumn("Customer", Order::customer);
    table.addColumn("Total", Order::total);
    table.setItems(orders.findOpen());

    Button refresh = new Button("Refresh", ButtonTheme.PRIMARY,
        e -> table.setItems(orders.findOpen()));

    self.setDirection(FlexDirection.COLUMN).add(refresh, table);
  }
}

Generate a project in the browser with startforJ.

AI that writes real webforJ

One install of the webforJ AI plugin teaches Claude Code, GitHub Copilot, Cursor, Gemini CLI and Codex the real API.

claude plugin marketplace add webforj/webforj-ai
claude plugin install webforj@webforj-ai
  • MCP server and Agent Skills: answers from current docs for your version, and step-by-step workflows for forms, components, styling, security, async work, localization and upgrades.
  • Browserless testing: views run in plain JUnit tests, so your assistant gets a pass or a fail after every change.
  • Agents that use your app: an agent reads the page, finds components and clicks like a user, with exactly the user's permissions. MCP Apps open a webforJ view inside an AI conversation.
String page = Snapshot.render(view);
var export = ComponentLocator.of(Button.class).byText("Export").locate();
UserInteraction.click(export);

Visual editing that writes Java

craftforJ edits your running app in the browser. Click a component, change it, and write the edits you keep back into your Java source. The craftforJ assistant takes a goal, writes Java, compiles and checks it, and nothing reaches your source without your approval.

Swing to web, one screen at a time

Run your Swing, JavaFX or SWT app in the browser with Webswing, then move it to webforJ one screen at a time while old and new screens talk to each other. Read the Swing to web migration guide. Backed by BASIS International's almost 40 years of modernizing mission-critical systems, including 20+ years of delivering technology built on Java.

One design system

Every component comes from one design system with themes, light and dark modes and design tokens, plus the DWC Design Kit for Figma for your designers.

Talk to us

Ask a question, report a bug or plan a project. We speak English, German, French and Spanish. To contribute code, read the contributing guide.

Ask the docs Report a bug Book a call

Follow webforJ on LinkedIn webforJ on YouTube webforJ blog

License

webforJ is open source under the MIT License.


Do it all in Java.

webforj.com · JavaDocs

About

Full-stack Java framework for business web apps: UI to data in Java, any backend (standalone or Spring Boot), AI-ready, and a screen-by-screen path from Swing to the web.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

79 stars

Watchers

6 watching

Forks

Releases

Used by

Contributors

Languages