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.
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.
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.
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.
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.
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.
Page Annotation Routing
Simple @Page("/path") annotation for route definition. Clean, declarative routing with support for path variables and wildcard patterns.
Full URL Parameter Support
Complete support for query parameters, path variables, and URL routing. Build RESTful applications with clean, bookmarkable URLs.
Form Handling & Validation
OorianForm with FormListener pattern for type-safe form processing. Built-in validation framework with annotation-based rules and error reporting.
Drag and Drop Support
Built-in DragDropEvent and DragDropListener for intuitive drag-and-drop interactions. Configure draggable sources and drop targets entirely in Java.
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.
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.
Server-Side Worker Threads
Run background tasks on the server with automatic UI updates when complete. Long-running operations never block the user interface.
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.
Session Management
OorianSession with configurable idle and absolute timeouts, secure cookie defaults, and per-page timeout overrides for sensitive operations.
Lightweight Configuration System
Simple properties-based configuration with sensible defaults. No XML boilerplate—just set what you need and let Oorian handle the rest.
Comprehensive Security
CSRF protection, auto-escaping output, secure cookies, rate limiting, and security headers. OWASP-aligned protections enabled by default.
Logging & Error Handling
Integrated logging framework with structured error handling. Centralized exception management with customizable error pages and diagnostic output.
Application Monitoring
OorianMonitor provides health checks, performance metrics, Prometheus-compatible export, admin dashboard, and configurable alert callbacks.
WCAG Accessibility Support
Type-safe ARIA attributes, skip links, focus management, and live regions. Build inclusive applications that meet WCAG compliance standards.
Internationalization
Built-in support for multi-language applications with locale-aware formatting, resource bundles, and right-to-left layout support.
Native JSON, XML & Markdown
Built-in JSON, XML, and Markdown parsing, generation, and manipulation. No external libraries needed for common data formats.
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.
HTML Template Support
Integrate traditional HTML templates when needed via HtmlTemplatePage. Mix programmatic and template-based approaches as your project requires.
HTML Parser
Parse, navigate, and transform HTML programmatically with Oorian's built-in HtmlParser. No external dependencies required.
Platform Independent
Write once, deploy on J2EE or Jakarta EE. OorianCommonLib has zero servlet API dependencies—thin adapters handle the rest.
Production Proven
Not a prototype—Oorian powers iGradePlus, a 500k+ line commercial SaaS with hundreds of pages, in production for 10+ years.
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.
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.
@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();
}
}Documentation
Guides, API references, and examples to help you get started.
Quick Start Guide
Get up and running in minutes with a step-by-step tutorial.
User's Guide
Comprehensive guide covering all Oorian concepts and patterns.
Testing Guide
Learn how to test your Oorian applications with unit and integration tests.
Core JavaDoc
Complete API reference for the OorianCore library.
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.