Coming Soon — View Our Roadmap

The Java-First Web Framework for Serious Business Apps — Without the Architectural Fragmentation

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.

Oorian Dashboard Example
10+
Years in Production
iGradePlus
Commercial SaaS Built
171
Extensions & Add-Ons
Zero
Lines of JavaScript

Why Choose Oorian

A unique approach to pure Java web development that gives you flexibility without sacrificing productivity.

Intuitive Programming Model

If you know Java and HTML/CSS, you already know Oorian. Elements are objects, styles are methods, events are listeners — no new syntax to learn.

Full IDE Support

Autocomplete, refactoring, and navigation work perfectly. Your IDE knows every element, property, and method.

Easy Debugging

Set breakpoints in your event handlers. Step through your UI logic. No browser dev tools required.

Batteries Included

Security, communications, error handling, accessibility, and internationalization are built in — so you can focus on your application, not reinventing infrastructure.

No Build Tools Required

No webpack, npm, or complex frontend toolchain. Just compile your Java code and run. Simple as it should be.

No JavaScript Required

Write everything in Java. No context switching, no JS debugging, no hunting through browser consoles.

Comprehensive Features

Everything you need to build modern web applications in pure Java — from HTML elements to real-time communication.

Pure Java Development

Write your entire application in Java—UI included. Leverage inheritance and polymorphism to build reusable controls. Type-safe, debuggable, OOP throughout.

Learn more

Unified, Lightweight Architecture

Simple JSON messaging across all communication modes. No heavy client-side framework, no complex build tools. Just clean, understandable communication.

Learn more

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.

Learn more

Component-Based Architecture

Build your UI with composable Java components. Every HTML element is a first-class Java object with type-safe properties, intuitive methods, and full IDE support.

Learn more

Full HTML5 Element Support

Java classes for every HTML5 element—Div, Table, Form, Canvas, and more. Construct type-safe HTML entirely in Java with compile-time checking.

Learn more

Versatile Styling System

Apply CSS styles programmatically with fluent methods for all CSS3 properties. Use CssStyleSheet, CssRule, and CssMediaQuery to build responsive designs entirely in Java.

Learn more

Flexible Communication Options

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.

Learn more

170+ UI Extensions & Add-Ons*

Integrate best-of-breed JavaScript UI libraries through lightweight Java wrappers. Use Syncfusion, Webix, Chart.js, Leaflet, and more—all with consistent Oorian conventions.

Learn more

Server-Side Worker Threads

Run background tasks on the server with automatic UI updates when complete. Long-running operations never block the user interface.

Learn more

Comprehensive Security

CSRF protection, auto-escaping output, secure cookies, rate limiting, and security headers. OWASP-aligned protections enabled by default.

Learn more

Application Monitoring

OorianMonitor provides health checks, performance metrics, Prometheus-compatible export, admin dashboard, and configurable alert callbacks.

Learn more

WCAG Accessibility Support

Type-safe ARIA attributes, skip links, focus management, and live regions. Build inclusive applications that meet WCAG compliance standards.

Learn more

Native JSON, XML & Markdown

Built-in JSON, XML, and Markdown parsing, generation, and manipulation. No external libraries needed for common data formats.

Learn more

Internationalization

Built-in support for multi-language applications with locale-aware formatting, resource bundles, and right-to-left layout support.

Learn more

Self-Contained Web Apps (LaunchPad)

Deploy Oorian applications as a single executable JAR with embedded Jetty server. No external application server required—just compile and run.

Learn more

Platform Independent

Write once, deploy on J2EE or Jakarta EE. OorianCommonLib has zero servlet API dependencies—thin adapters handle the rest.

Learn more

Production Proven

Not a prototype—Oorian powers iGradePlus, a 500k+ line commercial SaaS with hundreds of pages, in production for 10+ years.

Learn more

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.

Learn more

*Extensions are being progressively rolled out. See the roadmap for availability.

Elegantly Simple

Build interactive pages with intuitive, type-safe Java code. Here's a complete Oorian page:

Java
@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();
    }
}
Type-safe HTML construction
Elements are Java objects with proper IDE support
Automatic event handling
Register listeners and handle events in Java
Flexible sync options
Choose AJAX, SSE, or WebSocket per page

Your Choice of UI Libraries

Oorian integrates with industry-leading JavaScript UI libraries through lightweight Java wrappers. Use what fits your needs—or mix and match.

Consistent Conventions, Familiar Feel

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

CSS Frameworks & Component Libraries

Specialized Components

Best-in-class single-purpose widgets

Rich Text Editors

Data Grids, Tables & Spreadsheets

AgGrid UI Extension

Enterprise Grid

AG Grid is a high-performance JavaScript data grid with features like grouping, pivoting, and server-side row models.

DataTables UI Extension

jQuery Tables

DataTables adds advanced interaction controls to HTML tables including pagination, instant search, and multi-column ordering.

Flexmonster UI Extension

Pivot Table

Flexmonster is an embeddable pivot table component for advanced data visualization and reporting in web applications.

GridJs UI Extension

Data Grid

Grid.js is a free and open-source HTML table plugin that works with most JavaScript frameworks. Simple and lightweight.

Handsontable UI Extension

Spreadsheet Grid

Handsontable is an Excel-like data grid component with spreadsheet features including formulas, filtering, and data validation.

Jspreadsheet UI Extension

Spreadsheet

jspreadsheet is a lightweight JavaScript spreadsheet component with Excel-like features, formulas, and data manipulation.

Luckysheet UI Extension

Spreadsheet

Luckysheet is a pure JavaScript online spreadsheet similar to Excel with a rich set of features for data analysis.

PivotTable.js UI Extension

Pivot Table

PivotTable.js is a JavaScript pivot table library with drag-and-drop functionality for data summarization and visualization.

RevoGrid UI Extension

Data Grid

RevoGrid is a powerful virtual data grid with high performance, column pinning, and multi-dimensional data support.

SlickGrid UI Extension

Data Grid

SlickGrid is a JavaScript grid/spreadsheet component focused on extreme performance for large datasets with virtual rendering.

Tabulator UI Extension

Data Tables

Tabulator is an interactive table library with filtering, sorting, pagination, and extensive customization options.

WebDataRocks UI Extension

Pivot Table

WebDataRocks is a free web pivot table component for data analysis and reporting with interactive features.

Charts & Data Visualization

AmCharts UI Extension

Charting Library

amCharts is a JavaScript charting library with interactive maps, gauges, and Venn diagrams. Features animated transitions and responsive design.

AnyChart UI Extension

Enterprise Charts

AnyChart is a flexible JavaScript charting library with 80+ chart types including cartesian, pie, funnel, radar, gauges, stock, Gantt, treemap, and map visualizations.

ApexCharts UI Extension

Charting Library

ApexCharts is a modern JavaScript charting library with an easy-to-use API and beautiful, responsive charts.

Billboard.js UI Extension

Charting Library

Billboard.js is a re-usable, easy-to-use charting library based on D3.js with a familiar API and chart types.

Chart.js UI Extension

Charting Library

Chart.js is a simple yet flexible JavaScript charting library with 8 chart types and extensive customization options.

D3.js UI Extension

Data Visualization

D3.js is a JavaScript library for manipulating documents based on data. Provides low-level primitives for custom visualizations.

ECharts UI Extension

Visualization

Apache ECharts is a powerful, interactive charting and visualization library with GL support for 3D visualizations.

Google Charts UI Extension

Google Visualization

Google Charts provides a gallery of interactive charts rendered using SVG and VML with cross-browser compatibility.

Highcharts UI Extension

Enterprise Charts

Highcharts is a feature-rich interactive charting library with enterprise support, accessibility features, and extensive documentation.

Plotly.js UI Extension

Scientific Charts

Plotly.js is a high-level declarative charting library for scientific and statistical visualization with 3D support.

uPlot UI Extension

High-Performance Charts

uPlot is a fast, memory-efficient time series and line chart library. Renders millions of data points with minimal overhead.

Vega / Vega-Lite UI Extension

Visualization Grammar

Vega and Vega-Lite are declarative visualization grammars for creating interactive data visualizations with a JSON specification.

Maps & Geospatial

Java Web Framework Comparison

Looking for a Vaadin alternative or ZK alternative? See how Oorian compares to other Java UI frameworks.

FrameworkApproachComponentsFlexibility
VaadinServer-side JavaProprietaryLocked-in
ZK FrameworkServer-centricProprietaryLimited
Apache WicketTemplate-basedHTML + JavaModerate
OorianAJAX / SSE / WebSocketYour choiceMaximum

Oorian is Coming Soon

Stay tuned for the official release. Free for non-commercial use.