Zum Hauptinhalt springen
← Blog

The Business Case for a Java UI Framework: What Your Boss Will Ask

· 8 Min lesen
webforJ
Do it all in Java. The full-stack Java framework for business web apps.

cover image

You have looked at webforJ and you like what you see. Now somebody with a budget or a veto wants to know why the team should adopt it, and "the developers prefer it" isn't an answer that survives a meeting.

This post is the business case for a Java UI framework, written as the questions a decision-maker asks, with a plain answer to each. webforJ is the full-stack Java framework for business web apps: you build the whole app, screens included, in Java. Each answer below links the page you can hand to your manager.

Who is behind the framework?​

webforJ is built by BASIS International. The company is privately owned and operated, and BASIS software and software tools have been used to develop business solutions for both large international corporations and SMEs for almost 40 years, with 20+ years of delivering technology built on Java.

BASIS operates its own sites in North America and Europe and works with partners in more than 30 countries. For the maturity question in full, read Is webforJ production ready, and for the customers, Who uses webforJ.

How do I convince my boss to adopt a Java framework?​

Show that the decision keeps what the company already has. The team stays a Java team, the code stays Java, and the screens stop needing a second language and a second set of specialists.

That's the whole argument, and it's qualitative on purpose. With webforJ, components, routing, forms with data binding, tables and route security come from one framework, so standard screens don't need a JavaScript codebase beside the Java one. Fewer languages and fewer hand-offs mean fewer places for a project to stall. Our why webforJ post makes the wider case.

How do I justify a framework choice?​

Judge it against the risks the board will name, not against a feature list. Most boards ask about the same few: vendor, upgrades, fit, existing code, lock-in, quality and the cost of being wrong. The sections below take them in turn, and the last one turns the rest into a small experiment.

What risks will the architecture board ask about?​

The vendor, the upgrade path and the fit with your app come first, followed by existing code, lock-in and testing. The sections below answer each one.

How often does it ship, and how do upgrades work?​

webforJ follows a published release model. Major releases occur annually, minor releases roughly every six to eight weeks, and patches ship when critical bugs or security fixes need them. The upgrading guides describe each type and what to expect from it.

Major releases may require adjustments to an app, so the project gives you tools for that. Snapshot builds are available before most releases so you can test early, and OpenRewrite recipes handle automated upgrades by renaming APIs, updating dependencies and flagging the fixes left for a person.

Does it fit our kind of app?​

If the app is a business app, yes. webforJ is made for forms, tables, navigation, role-based access and the other screens that business software consists of, and it covers them in Java. The when to use webforJ guide lists the projects it fits and the ones it doesn't.

Your data layer is yours. The Spring Boot integration lets components receive your Spring beans, and the repository pattern connects tables to Spring Data and JPA entities, or to data outside your app such as a REST API. If your team uses Spring already, it keeps using it.

What happens to our existing code and team?​

Both stay. A webforJ developer is a Java developer, so you hire for Java and onboard to the framework. Our post on the webforJ learning curve walks through what a Swing or Spring developer already knows, and why candidates don't need webforJ on their CV.

The same holds for code. If a Swing, JavaFX or SWT desktop app holds years of business rules, the Webswing integration runs it in the browser without changes to its source and embeds it inside a webforJ app. You then replace screens one at a time, and the old and new screens stay connected during the move. The full path is in Swing to web migration.

How do we avoid lock-in?​

Keep the framework in the views and nowhere else. Every UI framework shapes the screens written against it, so what you control is how much of the app knows about the framework.

With webforJ, business rules can live in plain Java classes or Spring services, forms can bind to plain beans validated by Jakarta Validation, and data can come through repositories. In that layout only the views use webforJ components, so the part you would redo if you ever left is the thin part. The post on how to avoid UI framework lock-in shows the split layer by layer.

How do we test it?​

With the tools your team already uses. Unit tests run in JUnit, and end-to-end tests run with Selenium or Playwright. The TestBed runs views in plain JUnit tests without a browser or a server. Our testing strategy post shows which layer to use for what.

That matters to a manager for a plain reason: the app goes through the same build and the same CI checks as the rest of your Java code. Nothing about the UI needs a separate quality process.

How do I run a pilot?​

Pick one real screen, not a demo. Choose a screen from your own app that people use and that a manager recognizes, such as a customer search, an order form, or a status dashboard. A screen from the app, rather than a todo list, makes the result easy to judge.

Then choose a time box that fits your team, tell your manager the date up front, and build that one screen in webforJ against your existing services. The getting started guide covers project creation, and startforJ generates a Maven project you can open in your usual IDE. If the screen belongs to a desktop app, run the old app under Webswing and replace that single screen next to it.

At the end, show three things:

  • The screen running in the browser, next to the one it replaces or complements.
  • The Java source, so your manager can see one language and one project.
  • The test and the build, running in the same pipeline as everything else.

Then take the open questions from this post back to the board with an actual result attached. A small pilot doesn't commit the company to anything, and it gives the architecture board something concrete to approve or reject.

Frequently asked questions​

How do I convince my boss to adopt a Java framework?​

Show that it keeps the team, the language and the existing code, and run a pilot on one real screen so the result is visible.

How do I justify a framework choice?​

Answer the risks the board will name: vendor, release cadence, fit, existing code, lock-in and testing. Each has a documented answer for webforJ in the preceding sections.

What risks will the architecture board ask about?​

Usually the vendor, upgrades, lock-in, hiring, and quality. BASIS has almost 40 years behind it, releases follow a published cadence, and the framework fits into a normal Java build.

How do I run a pilot?​

Choose one real screen, set a time box, build it against your existing services and show the screen, the source, and the passing build.

Pick the pilot screen this week​

Write down one screen from your own app that a manager would recognize, agree a time box, and ask for approval for that screen alone. A single working screen answers more questions in a meeting than any slide.

Entwickelst du etwas mit webforJ?

Sprechen Sie mit dem Team über Ihr Projekt, eine Migration oder ob webforJ das Richtige für Sie ist.