Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Vert.x
  3. VertxUI

VertxUI

GPL-3.0Java

A pure Java framework for building reactive client-side web apps with POJO traffic, declarative views, and jUnit GUI testing.

GitHubGitHub
124 stars13 forks0 contributors

What is VertxUI?

VertxUI is a Java framework for building reactive client-side web applications entirely in Java, without requiring JavaScript or TypeScript. It enables developers to use strong-typed POJOs for client-server communication and provides a declarative view-on-model system with automatic DOM updates. The framework integrates seamlessly with Vert.x for asynchronous server-side handling and supports real-time features like WebSockets and automatic browser reloading.

Target Audience

Java developers building single-page applications or microservices who want to write client-side code in Java, leverage strong-typed models, and use familiar Java tooling like jUnit for testing.

Value Proposition

Developers choose VertxUI to avoid JavaScript tooling complexity, maintain consistency with Java on both client and server, and benefit from professional IDE support, reliable testing with jUnit, and a declarative UI approach similar to React—all within a mature Java ecosystem.

Overview

Pure 100% java reactive-style client-side webpages with POJO traffic, jUnit GUI testing, declarative view-on-model, automatic browser reloading and more.

Use Cases

Best For

  • Building single-page applications entirely in Java without JavaScript
  • Developing microservices that serve dynamic parts of a webpage
  • Teams wanting strong-typed POJO communication between client and server
  • Projects requiring jUnit-based GUI testing without browser overhead
  • Java shops looking to leverage existing Java skills for frontend development
  • Applications needing real-time features like WebSockets with Java models

Not Ideal For

  • Teams heavily invested in JavaScript/TypeScript ecosystems and libraries
  • Projects needing out-of-the-box, pre-styled UI components without custom CSS integration
  • Applications requiring server-side rendering with minimal client-side execution
  • Environments where Java tooling setup or compilation overhead is prohibitive

Pros & Cons

Pros

Pure Java Client-Side

Enables writing web views entirely in Java 8 with lambdas and streams, compiled to ES5 JavaScript for broad browser compatibility without JavaScript tooling.

Strong-Typed POJO Communication

Uses the same POJOs on client and server for ajax, WebSocket, and EventBus, ensuring type safety and reducing serialization errors.

Declarative View-on-Model

Implements a React-like virtual DOM with ViewOn objects that automatically update the DOM on model changes, simplifying UI state management.

Automatic Browser Reloading

FigWheely provides state-preserving reloads of changed JavaScript, CSS, or resources during development, enhancing productivity.

jUnit GUI Testing

Supports fast testing of Fluent views against a virtual DOM without a browser, or headless browser tests with full Java stack traces.

Cons

Java-to-JavaScript Compilation Overhead

Relies on GWT for compilation, which can be slower and less performant than native JavaScript frameworks, adding build time complexity.

No Built-In UI Components

Does not provide pre-styled GUI elements; requires manual integration with external CSS libraries like Bootstrap, increasing initial setup effort.

Limited JavaScript Ecosystem Access

Tied to Java tooling, which may restrict access to cutting-edge JavaScript libraries and community-driven updates, as noted in the README's comparison with jSweet and TeaVM.

Setup and Configuration Complexity

Requires configuring Java-to-JavaScript translation and server integration (e.g., Vert.x or Tomcat), which can be non-trivial for teams new to the stack.

Frequently Asked Questions

Quick Stats

Stars124
Forks13
Contributors0
Open Issues0
Last commit7 years ago
CreatedSince 2016

Tags

#single-page-applications#clientside#pojo#java-web-framework#junit-testing#html5#reactive-programming#java#junit#declarative-ui#virtual-dom#toolkit#websockets#vertx

Built With

j
jUnit
V
Vert.x
M
Mockito
J
Java
G
GWT

Included in

Vert.x2.2k
Auto-fetched 16 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub