A pure Java framework for building reactive client-side web apps with POJO traffic, declarative views, and jUnit GUI testing.
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.
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.
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.
Pure 100% java reactive-style client-side webpages with POJO traffic, jUnit GUI testing, declarative view-on-model, automatic browser reloading and more.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables writing web views entirely in Java 8 with lambdas and streams, compiled to ES5 JavaScript for broad browser compatibility without JavaScript tooling.
Uses the same POJOs on client and server for ajax, WebSocket, and EventBus, ensuring type safety and reducing serialization errors.
Implements a React-like virtual DOM with ViewOn objects that automatically update the DOM on model changes, simplifying UI state management.
FigWheely provides state-preserving reloads of changed JavaScript, CSS, or resources during development, enhancing productivity.
Supports fast testing of Fluent views against a virtual DOM without a browser, or headless browser tests with full Java stack traces.
Relies on GWT for compilation, which can be slower and less performant than native JavaScript frameworks, adding build time complexity.
Does not provide pre-styled GUI elements; requires manual integration with external CSS libraries like Bootstrap, increasing initial setup effort.
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.
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.