Build Real-Time Java Web Apps with Ease
For over 10 years, Oorian has powered iGradePlus—a commercial SaaS with 500k+ lines of code. Pure Java development with flexible communication (AJAX, SSE, or WebSocket per page) and best-of-breed UI libraries. No vendor lock-in, no proprietary components.

Why Choose This Java UI Framework
A unique approach to pure Java web development that gives you flexibility without sacrificing productivity.
Wrap Best-of-Breed Libraries
Use Webix, SyncFusion, WebAwesome, or ECharts. Get enterprise-grade UI components maintained by specialists—not reinvented wheels.
JDK-Style Event Model
Handle browser events with familiar listener patterns—just like Swing or JavaFX. Every extension uses consistent conventions for configuration and data binding.
Flexible Communication
Choose AJAX, AJAX + SSE, or WebSocket per page. Simple request-response when that's enough, server push when you need it, full real-time when you want it.
Pure Java Development
Write your entire application in Java—UI included. Leverage inheritance and polymorphism to build reusable controls. Type-safe, debuggable, OOP throughout.
No Vendor Lock-In
Unlike Vaadin or ZK, you're not locked into proprietary components. Switch UI libraries or mix them as your needs evolve.
Lightweight Architecture
Simple JSON messaging across all communication modes. No heavy client-side framework, no complex build tools. Just clean, understandable communication.
Production Proven
Not a prototype—Oorian powers iGradePlus, a 500k+ line commercial SaaS with hundreds of pages, in production for 10+ years.
Built-in Security
CSRF protection, auto-escaping output, secure cookies, rate limiting, and security headers. OWASP-aligned protections enabled by default.
Built-in JSON & XML
Native support for JSON and XML parsing, generation, and manipulation. No external libraries needed for common data formats.
Server-Side Worker Threads
Run background tasks on the server with automatic UI updates when complete. Long-running operations never block the user interface.
HTML Template Support
Integrate traditional HTML templates when needed via HtmlTemplatePage. Mix programmatic and template-based approaches as your project requires.
Full URL Parameter Support
Complete support for query parameters, path variables, and URL routing. Build RESTful applications with clean, bookmarkable URLs.
Built-in Accessibility
WCAG compliance made easy with type-safe ARIA attributes, skip links, focus management, and live regions. Build inclusive applications from the start.
Standalone HTML Generation
Use Oorian as a library to generate HTML for emails, newsletters, and reports. No web server required—just clean, programmatic HTML generation.
Elegantly Simple
Build interactive pages with intuitive, type-safe Java code. Here's a complete Oorian page:
@Page("/dashboard")
public class DashboardPage extends HtmlPage implements MouseClickListener {
@Override
protected void createBody(Body body) {
// Create a container with flexbox layout
Div container = new Div();
container.setDisplay(Display.FLEX);
container.setFlexDirection(FlexDirection.COLUMN);
container.setPadding("20px");
// Add a heading
container.addElement(new H1("Welcome to Dashboard"));
// Create an interactive button
Button refreshBtn = new Button("Refresh Data");
refreshBtn.registerListener(this, MouseClickedEvent.class);
container.addElement(refreshBtn);
// Add a SyncFusion data grid
SfDataGrid grid = new SfDataGrid();
grid.setDataSource(getCustomerData());
container.addElement(grid);
body.addElement(container);
}
@Override
public void onEvent(MouseClickedEvent event) {
// Handle click - UI updates automatically
refreshData();
}
}Your Choice of UI Libraries
Oorian integrates with industry-leading JavaScript UI libraries through lightweight Java extensions. Use what fits your needs—or mix and match.
Every extension follows the same Oorian conventions for instantiation, configuration, events, and data binding. Each library keeps its unique features, but the experience of using any extension feels immediately familiar. No need to learn different paradigms for each library—just the Oorian way.
Full UI Platforms
Complete component suites with layouts, grids, and app-level UI
Webix
DataTable, Scheduler, Gantt, Kanban, Spreadsheet
DHTMLX
Grid, Gantt, Scheduler, Spreadsheet, Diagram
Syncfusion
70+ components: Grids, Charts, Diagrams, PDF viewers
Kendo UI
DataGrid, Scheduler, Charts, Editor, Gantt
Wijmo
FlexGrid, Charts, Gauges, Input controls
DevExtreme
DataGrid, Charts, Scheduler, Forms, Pivot
Web-Component UI Libraries
Framework-agnostic building blocks
Shoelace
Buttons, Inputs, Dialogs, Tabs, modern primitives
WebAwesome
Buttons, Cards, Dialogs, Inputs, modern UI
Lion
Accessible, customizable web components
Bootstrap
Responsive grid, components, utilities
Bulma
Modern CSS framework based on Flexbox
PicoCSS
Minimal CSS for semantic HTML
TailwindCSS
Utility-first CSS framework
Specialized Components
Best-in-class single-purpose widgets
Editors
CKEditor
WYSIWYG editing with plugins
TinyMCE
Flexible editor with premium features
Quill
Modern editor with delta format
ProseMirror
Extensible semantic editing framework
Monaco Editor
VS Code's powerful code editor
TipTap
Headless, extensible editor on ProseMirror
CodeMirror
Versatile text editor for the browser
Froala
Beautiful WYSIWYG HTML editor
Grids & Tables
AG Grid
High-performance data grid
Handsontable
Excel-like data grid component
Tabulator
Interactive tables with filtering, sorting
DataTables
Feature-rich tables with pagination, search
Charts & Visualization
Chart.js
Simple, flexible charts
Highcharts
Interactive, feature-rich charts
Apache ECharts
Powerful interactive charts
D3.js
Low-level visualization primitives
Google Charts
Interactive charts from Google
ApexCharts
Modern interactive charts
Plotly.js
Statistical and 3D visualization
Scheduling & Timeline
FullCalendar
Full-featured event calendar
vis.js
Dynamic timelines and network graphs
Diagrams
jsPlumb
Visual connectivity for web apps
JointJS
Interactive diagrams and graphs
GoJS
Interactive diagrams and flowcharts
Mermaid
Diagrams and flowcharts from text
Document Viewing
Icons
Maps
Leaflet
Mobile-friendly open-source maps
Mapbox
Custom maps with powerful APIs
OpenLayers
High-performance geospatial maps
Google Maps
World's most popular mapping API
Date Pickers
File Upload
Dropzone
Drag and drop file uploads with previews
FilePond
Smooth file uploading with image editing
Notifications
SweetAlert2
Beautiful, responsive alert dialogs
Toastr
Simple toast notifications
Image Tools
Cropper.js
JavaScript image cropper
PhotoSwipe
Touch-friendly image gallery
GLightbox
Pure JS lightbox with video support
Carousel
Media Players
Tour & Onboarding
Java Web Framework Comparison
Looking for a Vaadin alternative or ZK alternative? See how Oorian compares to other Java UI frameworks.
| Framework | Approach | Components | Flexibility |
|---|---|---|---|
| Vaadin | Server-side Java | Proprietary | Locked-in |
| ZK Framework | Server-centric | Proprietary | Limited |
| Apache Wicket | Template-based | HTML + Java | Moderate |
| Oorian | AJAX / SSE / WebSocket | Your choice | Maximum |
Oorian is Coming Soon
Stay tuned for the official release. Free for non-commercial use.