Table of Contents
- Why Knockout?
- Who can use JET?
- Is Oracle JET Open Source?
- How is JET different from ADF?
- What is the release schedule for JET?
- What platforms are supported by Oracle JET?
- What do JET version numbers mean?
- What version of Node is required for JET CLI tooling?
Why did you choose Knockout and other libraries over more popular ones?
One of the main objectives of Oracle JET was to be a modular toolkit that allows developers to use as little or as much as they need for their particular project. To accomplish this, we researched the best JavaScript libraries for specific tasks needed when developing a modern JavaScript client-side application. While there are plenty of more popular full frameworks available, we felt that with the rapidly changing JavaScript landscape, tying developers into one specific framework was not in the best interest of future growth and flexibility.
Who can use Oracle JET in production?
Anyone and Everyone can use Oracle JET. It's an Open Source project sponsored by Oracle. It is distributed under the Universal Permissive License(UPL).
Is Oracle JET Open Source?
Yes, Oracle JET is distributed under the Universal Permissive License(UPL).
How is Oracle JET different than Application Developer Framework(ADF)?
Oracle ADF and Oracle JET target different types of developer and focus on different development paradigm and architecture. Here are some of the high-level differences between the frameworks:
- Oracle JET is targeted at JavaScript developers from intermediate level to advance. Oracle ADF is targeted at Java developers from beginner to advance.
- Oracle JET has a code centric development paradigm, while Oracle ADF aims for a more declarative approach to development.
- Oracle JET is a pure client-side toolkit. Oracle ADF is a server focused framework.
- Oracle JET handles the creation of user interfaces, Oracle ADF handles the business service creation in addition to creation of UI layer.
- Oracle JET data interaction is via web services only (REST, WebSockets, SSE, etc). Oracle ADF support web service interaction with data services (REST/SOAP) in addition to direct binding approach.
What is the release schedule for Oracle JET?
Oracle JET is released on a regular schedule multiple times per year. The intent is to produce a predictable and consistent release schedule that teams can base their own development cycles on. There are two major releases per year with multiple minor releases in between each major. The major releases can contain API changes as well as new versions of dependent libraries such as Knockout.js, jQuery, etc. if they exist at that time. Minor releases are limited to bug fixes and additive, non-destructive features. The intent is for teams to be able to drop a minor releases on top of an existing application and not have to change any code other than the version path info.
The table below is the current plan of record. While we have been very successful in delivering to a predictable and consistent schedule, the dates provided are not a guarantee of delivery, and could change with short or no notice.
(New Semantic Versioning number scheme implemented)Version | Scheduled Release |
---|---|
2.0.0.0 | Feb 29 2016 (Open Source Release) |
2.2.0 | Oct 2016 |
3.0.0 | March 2017 |
4.0.0 ( v2.x reached End of Life(EOL)) | September 2017 |
5.0.0 ( v3.x reached End of Life(EOL)) | April 2018 |
6.0.0 ( v4.x reached End of Life(EOL)) | Oct 2018 |
7.0.0 ( v5.x reached End of Life(EOL)) | May 2019 |
7.1.0 | July 2019 |
7.2.0 | Sept 2019 |
8.0.0 ( v6.x and older will reach End of Life(EOL) when this is released) | November 2019 |
8.1.0 | February 2020 |
8.2.0 | April 2020 |
9.0.0 ( v7.x and older will reach End of Life(EOL) when this is released) | June 2020 |
9.1.0 | August 2020 |
9.2.0 | October 2020 |
10.0.0 ( v8.x and older will reach End of Life(EOL) when this is released) | January 2021 |
What platforms are supported by Oracle JET?
Oracle JET is designed and tested against most modern HTML5 compliant browsers. Oracle JET will comply with the larger Oracle Software Web Browser Support Policy. Oracle JET is supported on the following user agents (i.e. browsing platforms):
Chrome | Firefox | Internet Explorer ** | Microsoft Edge | Safari **** | |
---|---|---|---|---|---|
Android | Supported * | Not Supported | N/A | N/A | N/A |
iOS | Not Supported | Not Supported | N/A | N/A | Supported |
Mac OSX | Supported | Supported | N/A | N/A | Supported |
Windows | Supported | Supported | Supported (IE11 Only) | Supported | N/A |
Oracle JET is supported on the following hybrid (mobile) runtime WebViews:
WebView | Min supported version | Operating System(s) |
---|---|---|
UIWebView | 12 | iOS 12 and above |
WKWebView | 12 | iOS 12 and above |
Android System WebView | 39.0.0.0 | Android 5.0 and above *** |
Windows System WebView | 10.0.14393.0 | Windows 10 |
The intent is to support the latest version of the browser available at the point JET releases and in some cases, such as IE and Safari, one previous major release. Please refer to the Oracle Software Web Browser Support Policy for any questions
* Support on the Android
operating system is limited to Chrome for Android. The Native Android browser
that shipped with version prior to 4.4.x is not supported.
** Support for Microsoft
Browsers will follow the same N-1 support policy that iOS provides. The most
recent version plus one previous release. This means the most recent version
of Microsoft Edge and one previous. The Redwood design sytem, which JET v9+ will use
by default, will not support Internet Explorer 11.
IMPORTANT The JET team will
deprecate support of Internet Explorer 11 with the release of JET v9.0.0. The Alta
theme will continue to work with IE11, however JET v9+ will default to the Redwood
Design System, which will not support IE11.
*** Android 5.0 shipped with
v36 of the Android System WebView, however the WebView should automatically
update on users' devices. If not, users can manually update it. The Android 5.0
(API 21) emulator uses v36, with which JET is not compatible.
****
Apple's WebKit has announced that devices running on iOS 13.4+ and Safari 13.1+
will have a 7 day restriction on all script-writeable storage mechanianisms
(localStorage, IndexedDB, Media keys, SessionStorage, and Service Worker registration)
as part of its Intelligent Tracking Prevention for Safari 13.1. Web-based Applications
that are not re-opened within 7 days of Safari use will experience data loss if
information is stored using these mechanianisms. Applications that are not launched
through the Safari Application such as Progressive Web Applications (PWA) that
are saved to the homescreen or hybrid applications are not restricted to the 7 day limition.
This Apple policy change affects all Javascript products on Safari and is not limited to JET.
There is no recommendation to work around this change at this time.
Compatibility Mode: For Windows Browsers, only Native mode is supported. View Compatibility mode should be disabled.
RTL Languages: Support for RTL (right to left) languages, such as Arabic or Hebrew, is available with supported versions of Microsoft Browsers, Firefox, Safari, and Chrome.
JavaScript: JavaScript support must be enabled.
Doctype: We rely on CSS attribute selectors, some versions of IE support attribute selectors only if a !DOCTYPE is specified, therefore to use JET on IE a doctype is required.
What do JET version numbers mean?
Starting with the v2.2.0 release of Oracle JET we started following the Semantic Versioning standard for product numbering.
Digit | Example | Description | Impact |
---|---|---|---|
1st | 2.0.0 | MAJOR version when incompatible API changes are possible. | Any change to the first digit indicates a revision/migration of an application is necessary. We do not guarantee an application written between changes of this release number can be migrated to the next major version without possible code changes. These releases are also used for updating libaries that Oracle JET has dependecies against. (e.g. jQuery, Knockou, RequireJS, etc) |
2nd | 2.1.0 | MINOR version when functionality is added in a backwards-compatible manner. | This release may contain new features as well as bug fixes that are non-destructive in nature. It does not require an app to change any APIs, and should be drop-in compatible with the previous major release that it is a minor of. Application will be required to change the version string in file path references. |
3rd | 2.1.1 | PATCH version when backwards-compatible bug fixes are made available for security or catastrophic issues only. | This type of release is rare and only produced when a security issue, or a bug that causes a browser crash, needs to be fixed. It should be drop-in compatible with the previous major release that is a minor of. |
What versions of Node.js and npm are required for Oracle JET tooling?
Oracle JET tooling always recommends the use of the LTS release of Nodejs. A minimum version of 10.x of Nodejs is currently required with JET 8.x and greater.