Deep Dive

Oorian's Extension Libraries: 58 JavaScript Wrappers for Java Developers

Comprehensive guide to Oorian's 58 extension libraries spanning charts, grids, editors, maps, and more.

M. WarbleJanuary 27, 20264 min read
Oorian's Extension Libraries: 58 JavaScript Wrappers for Java Developers

One of Oorian's greatest strengths is its extensive library of wrappers for industry-leading JavaScript UI components. Rather than building mediocre versions of every component ourselves, we wrap the best libraries available—giving you enterprise-grade components maintained by specialists, accessible entirely from Java.

The Wrapper Philosophy

Oorian provides 58 extension libraries organized into three tiers based on their scope and complexity.

Tier 1: Full UI Platforms (6 Libraries)

These are comprehensive UI frameworks that provide complete widget sets:

  • Syncfusion EJ2 - 80+ components including grids, charts, schedulers, and editors
  • Webix - Fast, feature-rich widgets with excellent data handling
  • DHTMLX - Enterprise-grade components for complex applications
  • Kendo UI - Professional components with excellent documentation
  • Wijmo - High-performance controls for data-intensive apps
  • DevExtreme - Responsive components with theming support

Tier 2: Web Component Libraries (7 Libraries)

Modern component libraries and CSS frameworks:

  • Shoelace - Beautiful web components built on standards
  • Web Awesome - Feature-rich component library
  • Lion - Accessible, performant web components
  • Bootstrap - The world's most popular CSS framework
  • Bulma - Modern CSS framework based on Flexbox
  • PicoCSS - Minimal CSS framework for semantic HTML
  • Tailwind CSS - Utility-first CSS framework

Tier 3: Specialized Components (45 Libraries)

Best-of-breed libraries for specific UI needs:

Rich Text Editors (7)

  • CKEditor 5 - Professional editor with collaboration features
  • TinyMCE - Flexible, customizable WYSIWYG editor
  • Quill - Modern, API-driven editor
  • ProseMirror - Toolkit for building rich text editors
  • Monaco Editor - VS Code's powerful code editor
  • TipTap - Headless editor framework
  • CodeMirror - Versatile code editor component

Data Grids (4)

  • AG Grid - Enterprise data grid with advanced features
  • Handsontable - Spreadsheet-like data grid
  • Tabulator - Interactive tables with many features
  • DataTables - jQuery table plugin (legacy support)

Charts & Visualization (7)

  • Chart.js - Simple, clean charts for most use cases
  • Highcharts - Professional charting library
  • ECharts - Powerful visualization from Apache
  • D3.js - Low-level data visualization toolkit
  • Google Charts - Easy-to-use charts from Google
  • ApexCharts - Modern, interactive charts
  • Plotly.js - Scientific and statistical charts

Scheduling & Timeline (2)

  • FullCalendar - Full-featured calendar component
  • vis.js - Timeline and network visualization

Diagrams & Flowcharts (4)

  • jsPlumb - Connect elements with flowchart lines
  • JointJS - Diagramming library
  • GoJS - Interactive diagrams and graphs
  • Mermaid - Generate diagrams from text

Maps (4)

  • Leaflet - Lightweight, mobile-friendly maps
  • Mapbox GL - Beautiful, customizable maps
  • OpenLayers - Full-featured mapping library
  • Google Maps - Google's mapping platform

Date & Time (1)

  • Flatpickr - Lightweight date/time picker

File Upload (2)

  • Dropzone - Drag-and-drop file uploads
  • FilePond - Flexible file upload with previews

Notifications (2)

  • SweetAlert2 - Beautiful, customizable alerts
  • Toastr - Simple notification toasts

Image Tools (3)

  • Cropper.js - Image cropping functionality
  • PhotoSwipe - JavaScript lightbox
  • GLightbox - Modern lightbox library

Carousels (2)

  • Swiper - Modern touch slider
  • Splide - Lightweight, accessible slider

Media Players (2)

  • Video.js - HTML5 video player
  • Plyr - Simple, accessible media player

Tour & Onboarding (2)

  • Intro.js - Step-by-step user guides
  • Shepherd.js - Guide users through your app

Document Viewing (1)

  • PDF.js - Mozilla's PDF viewer

Icons (1)

  • Font Awesome - Iconic font and CSS toolkit

Using Extension Libraries

All Oorian wrappers follow consistent conventions:

// 1. Create the component
EcChart chart = new EcChart();

// 2. Configure with fluent API
chart.setTitle("Sales Data")
     .setWidth("100%")
     .setHeight("400px");

// 3. Add data
chart.addSeries(salesSeries);

// 4. Register event listeners
chart.registerListener(this, ChartClickEvent.class);

// 5. Add to page
body.addElement(chart);

Choosing the Right Library

With 58 options, how do you choose? Consider:

  • Features needed - Match library capabilities to requirements
  • Licensing - Some require commercial licenses for production
  • Bundle size - Lighter libraries for simpler needs
  • Existing familiarity - Leverage team knowledge

Mixing and Matching Libraries

Unlike monolithic frameworks that lock you into a single vendor's components, Oorian lets you combine multiple wrapper libraries in the same application—even on the same page. Need Leaflet for maps, Chart.js for visualizations, and Quill for rich text editing? Use them all together:

@Page("/dashboard")
public class DashboardPage extends HtmlPage
{
    @Override
    protected void createBody(Body body)
    {
        // Leaflet map showing store locations
        LfMap map = new LfMap();
        map.setCenter(40.7128, -74.0060);
        body.addElement(map);

        // Chart.js chart showing sales data
        CjChart salesChart = new CjChart(ChartType.BAR);
        salesChart.addDataset(salesData);
        body.addElement(salesChart);

        // Quill editor for notes
        QlEditor notes = new QlEditor();
        notes.setPlaceholder("Add notes...");
        body.addElement(notes);
    }
}

This flexibility means you can always choose the best tool for each job. Start with one charting library and switch to another later. Use a lightweight date picker alongside a full UI platform. Your architecture decisions aren't constrained by framework limitations.

Conclusion

Oorian's 58 extension libraries give you access to the best JavaScript UI components through a consistent, type-safe Java API. Whether you need a simple chart or a full enterprise UI platform, there's a wrapper ready to use—and you're free to combine as many as your application requires.

Related Articles

Deep Dive

Understanding Oorian's Flexible Communication Model

January 15, 2026
Architecture

The Power of Pure Java Web Development

January 29, 2026
Library Spotlight

Spotlight: Chart.js for Beautiful Data Visualization

January 22, 2026