Core Framework

The server-side Java web framework that lets you build interactive, real-time web applications with pure Java. No JavaScript required — just familiar OOP patterns, JDK-style events, and your favorite IDE.

Features

Everything you need to build modern web applications in pure Java.

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

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

Page Annotation Routing

Simple @Page("/path") annotation for route definition. Clean, declarative routing with support for path variables and wildcard patterns.

Learn more

Full URL Parameter Support

Complete support for query parameters, path variables, and URL routing. Build RESTful applications with clean, bookmarkable URLs.

Learn more

Form Handling & Validation

OorianForm with FormListener pattern for type-safe form processing. Built-in validation framework with annotation-based rules and error reporting.

Learn more

Drag and Drop Support

Built-in DragDropEvent and DragDropListener for intuitive drag-and-drop interactions. Configure draggable sources and drop targets entirely in Java.

Learn more

Built-in Container & Layout Components

Deck, TabPanel, SplitPanel, and other layout containers for organizing complex UIs. Build multi-view applications with built-in navigation patterns.

Learn more

Browser API Integration

Access browser capabilities like clipboard, geolocation, notifications, and local storage from Java. Client-side operations when you need them, without writing JavaScript.

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

Data Binding, Data Providers, & Dependency Injection

Connect UI components to data sources with providers and binding. Built-in dependency injection for clean, testable application architecture.

Learn more

Session Management

OorianSession with configurable idle and absolute timeouts, secure cookie defaults, and per-page timeout overrides for sensitive operations.

Learn more

Lightweight Configuration System

Simple properties-based configuration with sensible defaults. No XML boilerplate—just set what you need and let Oorian handle the rest.

Learn more

Comprehensive Security

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

Learn more

Logging & Error Handling

Integrated logging framework with structured error handling. Centralized exception management with customizable error pages and diagnostic output.

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

Internationalization

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

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

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.

Learn more

HTML Template Support

Integrate traditional HTML templates when needed via HtmlTemplatePage. Mix programmatic and template-based approaches as your project requires.

Learn more

HTML Parser

Parse, navigate, and transform HTML programmatically with Oorian's built-in HtmlParser. No external dependencies required.

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

Write Java, Get Web Apps

Define pages with a simple @Page annotation. Create HTML elements as Java objects, register event listeners, and handle interactions server-side. Your IDE's autocomplete, refactoring, and debugging all work naturally.

No build tools, no webpack, no npm — just compile and deploy. Oorian handles the browser communication automatically.

java
@Page("/dashboard")
public class Dashboard extends HtmlPage implements MouseClickListener
{
    private Button refreshBtn;

    @Override
    protected void createBody(Body body)
    {
        refreshBtn = new Button("Refresh");
        refreshBtn.registerListener(this, MouseClickedEvent.class);
        body.addElement(refreshBtn);
    }

    @Override
    public void onEvent(MouseClickedEvent e)
    {
        // Handle click server-side
        loadData();
    }
}
Coming Q1 2026

Download

OorianCore will be available for download with the initial Q1 2026 release.

What's Included

  • oorian-core.jar
  • JavaDoc API reference
  • Quick Start Guide
  • Sample projects for popular IDEs

Ready to Build?

Start building powerful web applications with pure Java today.