Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

The Oracle JET Primer

John JB Brock-OracleJun 1 2016 — edited Jun 1 2016

Since Oracle JET was released about 8 months ago, we've had a lot of questions about specific pieces of JET and how to do those types of specific things, but there really hasn't been an answer to the question of, "How do I learn to use Oracle JET?".

Since Oracle JET is a collection of existing open source libraries at it's heart, a lot of the learning is in the area of learning those existing libraries.  The following is a guide to resources for learning those existing libraries presented in the order in which I believe would get a developer with little to no knowledge of Oracle JET, up to speed the fastest.

Go through the Knockoutjs.com Tutorial  http://learn.knockoutjs.com

If you understand everything while going through the above tutorial then you should have enough JavaScript knowledge to move to the next items.  If you don't understand the concept of the JavaScript code, then I would backup and go through a basic JavaScript course first. https://developer.mozilla.org/en-US/Learn/Getting_started_with_the_web/JavaScript_basics

After learning Knockout, and having a basic understanding of JavaScript, you should be able to copy and paste content from the Cookbook to a JET template.  The NetBeans getting started link

https://netbeans.org/kb/docs/webclient/ojet-gettingstarted.html is a good starting point.  There are a lot of resources on the JET YouTube channel as well for getting started.

https://www.youtube.com/c/oraclejet

The next level of knowledge will be working with AJAX and REST calls.  Some of this you can get out of the Cookbook page code, but I would read up on basic AJAX calls https://learn.jquery.com/ajax/https://learn.jquery.com/ajax/

Page layout in JET is handled using CSS3 Flexbox.  Understanding how to work with Flex based layout patterns and designs should be at least reviewed. It isn't important to master this subject at the beginning, but you should at least understand the relationship between Flex Containers and Flex Items. A good resource to start with is https://css-tricks.com/snippets/css/a-guide-to-flexbox/

You will also want to take a look at the Flex helper classes that JET itself provides to implement flex based layouts in your applications.

Flex Layout - Flex Auto

After you get through the above items, you should be in good enough shape to get a basic app together.  There are JET specific things to learn, like ojRouting, ojModule, and the Common Model API if you choose to use that instead of the AJAX approach above.

When you get to the point of working with ojModule (you will want to get to this point), a better understanding of AMD modules, and lazy loading of resources provided by RequireJS, is something you will want to understand.

Geertjan Wielenga provides a great video and blog post that introduces how RequireJS is used by Oracle JET.

https://blogs.oracle.com/geertjan/entry/requirejs_javascript_for_the_enterprise

It would also be a good idea to read the blog post from Paul Thaden about using the JET Cookbook demo's with ojModule AMD modules. Pouring JET Cookbook Code into QuickStart — Like A House Afire

There is a slightly different approach needed when you copy and paste from the Cookbook to a single JavaScript file, versus dropping it into an AMD module that is loaded into an existing page like you do when using ojModule.

Finally, the Developers Guide is designed to be read in a learning order.  Chapter One is getting started, and then it adds in information in roughly the order that you would need them to get a full application running. It would be worth looking over the TOC and first few chapters in that as well.

http://docs.oracle.com/middleware/jet201/jet/

The main resource for asking questions about Oracle JET is the Community page on OTN.

Comments
Post Details
Added on Jun 1 2016
0 comments
330 views