Oracle JET supports the Model-View-ViewModel (MVVM) architectural design pattern.
In MVVM, the Model represents the application data, and the View is the presentation of the data. The ViewModel exposes data from the Model to the view and maintains the application's state.
To support the MVVM design, Oracle JET is built upon a modular framework that includes a collection of third-party libraries and Oracle-provided files, scripts, and libraries.
oj.Model: Represents a single record data from a data service such as a RESTful web service
oj.Collection: Represents a set of data records and is a list of
oj.Model objects of the same type
oj.Events: Provides methods for event handling
oj.KnockoutUtils: Provides methods for mapping the attributes in an
oj.Collection object to Knockout observables for use with component view models.
To implement the View layer, Oracle JET provides a collection of UI components implemented as HTML5 custom elements, ranging from basic buttons to advanced data visualization components such as charts and data grids.
Knockout.js implements the ViewModel and provides two-way data binding between the view and model layers.
Oracle JET Features
Oracle JET features include:
Messaging and event services for both Model and View layers
Validation framework that provides UI element and component validation and data converters
Caching services at the Model layer for performance optimization of pagination and virtual scrolling
Filtering and sorting services provided at the Model layer
Connection to data sources through Web services, such as Representational State Transfer (REST) or WebSocket
Management of URL and browser history using Oracle JET
Integrated authorization through OAuth 2.0 for data models retrieved from REST Services
Resource management provided by RequireJS
API compatibility with Backbone.js Model, Collection, and Events classes, except for Backbone.js Underscore methods.
Popup UI handling
Hybrid Mobile Application Development Toolkit Features
Oracle JET includes support for hybrid mobile applications that run on iOS, Android, and Windows mobile devices within the Apache Cordova container.
The following image shows the same application code rendered on an iOS, Android, and Windows mobile device. Oracle JET automatically applies the native theme when you configure the application for the desired platform.
To support hybrid mobile development, Oracle JET includes the following features:
Native themes that you can use with Cordova to create hybrid mobile applications that emulate the look and feel of native iOS, Android, and Windows mobile devices
Tooling that enables you to scaffold and build Cordova-based hybrid applications using Oracle JET directly from the command line
Code samples, applications, and demos that you can use to create hybrid mobile applications using Oracle JET best practices
Mobile UI behaviors and interactive gestures such as animation, sticky headers, pull to refresh, and swipe to reveal
Oracle JET Visual Component Features
Oracle JET visual components include the following features and standards compliance:
Compliance with Oracle National Language Support (NLS) standards (i18n) for numeric, currency, and date/time formatting
Built-in theming supporting the Oracle Alta UI style specifications
Support for Oracle software localization standards, l10n, including:
Lazy loading of localized resource strings at run time
Oracle translation services formats
Bidirectional locales (left-to-right, right-to-left)
Web Content Accessibility Guidelines (WCAG) 2.0. In addition, components provide support for high contrast and keyboard-only input environments.
Gesture functionality by touch, mouse, and pointer events where appropriate
Support for Oracle test automation tooling
Responsive layout framework