Oracle JET is marketed as a kind of "anti-framework" approach to web development but from my experience Oracle JET is just another type of framework. So, I would describe JET as "a meta-framework" because JET is a framework that is built to import and use other frameworks and Javascript libraries. However, JET has also evolved to a kind of framework in it's on right because JET is based upon an increasingly larger number of bindings to JET DOM elements and components. In addition, JET only supports the NetBeans IDE and had not announced any concrete plans to support other major web developer IDE's like Visual Studio Code or Sublime.
JET relies heavily on two core Javascript libraries,
require.js (Require) and
knockout.js (KnockoutJS). Require is useful for managing Javascript libraries and KnockoutJS is a MVVM JavaScript framework created to bind data to a model and update elements bound to that model. JET's development environment is built on top of NodeJS.
My experience was that KnockoutJS is useful but adds both a learning curve and a layer of complexity to a web application which makes Javascript more difficult to debug when compared to jQuery for example. This is especially true considering KnockoutJS is only partially supported in VSC for debugging and autocompletion. Personally, I can easily live without KnockoutJS and Require but they are both "nice to have" in a framework like JET to build and deploy web apps.
One of the best things I like about JET is the Oracle JET Command Line Interface (CLI) and I found it very easy to build JET applications on the desktop and deploy these web apps to a server. Debugging KnockoutJS is an exception to this "easy to build" statement and I had to ask the Oracle JET team a number of questions to move past KnockoutJS bugs and issues.
Initially I found the Oracle community forum to be useful but the more I used JET, I realized the Oracle community forum is not responsive on mobile and is really buggy. This, in turn, makes me wonder why, if Oracle JET is so great to make responsive web apps, why is the Oracle community web site so buggy, not responsive on mobile, and in generally a difficult forum to use.
Then, I started to notice that the entire Oracle JET development community and support pages are very old fashioned, buggy, and poorly designed. For a guy like me, I wonder why a company with deep pockets and resources has such a poorly developed web ecosystem. After all, if JET is so great, then why are so many Oracle's web pages so poorly designed and buggy?
Don't get me wrong. I like Oracle JET and received reasonable support from the Oracle JET team online; and I also really like the Oracle JET learning videos and tutorials. Using JET I quickly built a server dashboard using a gauge component from the JET cookbook; and I enjoyed learning, building and deploying a JET mini web app.
Unfortunately for me, JET fell apart when I tried to build and debug a hybrid Cordova (mobile) web app using JET. Cordova is a core part of JET, but Cordova did not work for me. This is not JET's fault, however, and when debugging I noticed that Cordova does not work on OSX Mojave, at least for me. My questions on this to the Oracle JET team have gone unanswered and I suspect it is because the problem is related to Cordova and not JET.
I'm not sure how excited I am about JET after building and deploying an app in JET. There are pros and cons, but in general, Oracle's buggy web pages and poorly designed Oracle community forums (which are not useable on mobile and are unresponsive) cause me to pause. In addition, the fact that JET depends on other third party apps for the JET framework means that when these third party apps break (in my case, Cordova) then JET breaks. Hence, there are pros and cons to the Oracle JET concept. Also, the fact that JET seems married to NetBeans with no support for Visual Studio Code really caused me to pause again.
Would I recommend Oracle JET to other web developers?
I am not sure how to answer this question. I'm glad I spent time learning the basics of Oracle JET and I would consider building a web app based on JET if I needed to build a new feature or page. On the other hand, I do not believe Oracle's marketing theme of JET as an "open source anti-framework" which deceases the dependency on JS frameworks. In my view, being a "meta framework" increases dependency on underlying third party JS frameworks or libraries because when these libs break, JET breaks.
The field of JS frameworks and libs are exploding at mind-boggling speed and I understand the pros and cons of JET in such an environment. As always, don't believe the marketing hype (from any vendor) and experience for yourself and determine if the library or framework meets your needs by building and deploying. I learned a lot with Oracle JET and do recommend web developers learn more about JET.
See also:
Creating a Simple Linux Dashboard with Oracle Jet
neounix's Content | Oracle Community