Sergey Nivens - Fotolia


Oracle JET takes flight with tools for building client applications

Oracle JavaScript Extension Toolkit is an application development platform based on JavaScript, HTML5 and CSS. Robert Sheldon explains Oracle JET's features for building client-side apps.

The Oracle JavaScript Extension Toolkit, or JET, provides software developers with a modular set of open source tools for building client-side applications based on industry standards, such as JavaScript, HTML5 and Cascading Style Sheets, or CSS. It includes Oracle and third-party JavaScript libraries for creating applications that can integrate with Oracle products and services, particularly Oracle Cloud offerings.

Developers can use the toolkit to add interactivity to existing webpages, such as those in a Fusion application, or to create end-to-end web applications. Oracle JET can also be used to build hybrid mobile apps with a look and feel similar to that of a native app.

The Oracle JET framework includes such services as messaging, caching, filtering and sorting. It also supports JavaScript logging, pop-up handling, data conversion, component validation and numerous other features. In addition, Oracle JET provides connectivity through web services such as WebSocket and REST.

Oracle JET features and functions

Oracle JET also includes numerous features specific to the user interface (UI). For example, you'll find components that implement the Oracle Alta UI design system, a set of guidelines and best practices for implementing a consistent user experience across Oracle technologies. The toolkit also offers built-in support for accessibility and localization standards, such as Oracle translation service formats and bidirectional support; the latter feature lets you specify whether the language used in your application reads right to left or left to right, and then accommodates the display of the application to the language's orientation.

The JET technology supports a form layout structure that enables developers to build responsive web applications with fluid grids, scalable images and CSS media queries that can render layouts conditionally based on the media type -- for example, a full screen or a handheld-sized one. Responsive design makes it possible to deliver applications that are usable and visually appealing across a wide range of devices.

The responsive capabilities extend to hybrid mobile apps, making it easier to target multiple devices and screen sizes. With Oracle JET, developers can build hybrid apps in the Apache Cordova mobile application development framework for iOS, Android and Windows Mobile devices. The apps support UI behaviors and interactive gestures, such as swipe, progressive data loading and pull-to-refresh operations.

The Oracle JET Cookbook is an online repository for descriptions of all the JET components and code snippets to copy and paste into JET applications. Developers can turn to the cookbook for HTML and JavaScript examples; it also provides editing capabilities that allow you to modify the samples and view the results without having to download the code.

A library of libraries

Oracle JET comes with all the libraries and files necessary to build applications that can access Oracle products and services, both on-premises and in the cloud. In addition, the toolkit includes the data visualization components from the Oracle Application Development Framework and various types of files, such as polyfills, that extend a browser's capabilities.

It also provides CSS and Sassy CSS (SCSS) files for the Alta theme. SCSS is a syntax that was introduced in version 3.0 of Syntactically Awesome Style Sheets, an extension of CSS commonly called Sass. The Sass preprocessor generates the CSS files included in the Oracle JET distribution, using SCSS configuration files that also come with the toolkit.

The bulk of the Oracle JET platform is based on a collection of JavaScript libraries, many of which are open source, third-party libraries that developers can use to whatever degree they need. One of the most important of these is jQuery, which makes it easier to manipulate and traverse HTML documents and to incorporate animation, handle events and work with the Asynchronous JavaScript and XML development methodology.

Oracle JET includes the jQuery UI library, which offers a set of UI themes, effects, widgets and interactions that are flexible and quick to implement. Built on top of jQuery, the UI library provides Oracle JET with over 70 components that help augment data entry, data visualization and responsive UI design.

In addition, Oracle JET comes with the Knockout library, which provides bindings between components and makes it easier to associate Document Object Model elements with model data. This makes it possible for an application to automatically update the UI when the model's state changes. Knockout also lets developers define relationship chains between model data and generate nested UI elements as a function of the data.

The RequireJS library is also part of the Oracle JET package, serving as a module loader that manages library references and, as a result, improves code speed and quality. With RequireJS, developers can better control which libraries get loaded into their applications, implement lazy loading to defer module initialization and create JavaScript partitions that contain multiple modules.

Hammer, another library supported in Oracle JET, brings touchscreen capabilities for both single- and multitouch gestures to the toolkit, including custom gestures.

Add-on capabilities in Oracle JET

Oracle JET also includes features to augment the capabilities inherent in the framework's libraries. For example, the platform provides a common model layer for binding to REST and WebSocket data sources. It also provides numerous UI components, patterns and utilities to use within Oracle JET applications. In addition, it supports the OAuth authentication protocol -- an open protocol for secure standardization -- for managing private data and following best practices to secure the various application components.

Oracle JET adheres to the Model-View-ViewModel (MVVM) architecture design pattern, which separates the concerns of the user interface controls and their logic. MVVM has three distinct components: model, view and view model. In this case, model represents the application data and view represents the data presentation. The toolkit's modular framework helps to support this pattern, while allowing developers to select whichever parts of the framework work best for their applications.

Oracle JET is an open source project distributed for free under the Oracle-developed Universal Permissive License. The toolkit primarily targets intermediate and advanced JavaScript developers who want to build Oracle-based client applications.

For those who fit that profile, Oracle JET could help standardize their JavaScript-based development and boost their overall efforts. Given that the toolkit is distributed freely, organizations have little to lose by testing it out.

Next Steps

Oracle Mobile Application Framework creates cross-platform mobile apps

Oracle gets into mobile app development with Oracle Mobile Cloud Service

Watch out for licensing when developing apps on Oracle platforms

Dig Deeper on Oracle applications implementation and upgrades