Top Banner
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Is your JavaScript ready for the Enterprise? What does that even mean? John “JB” Brock Senior Principal Product Manager Oracle Tools and Frameworks March 01, 2017
60

Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

May 11, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Is your JavaScript ready for the Enterprise? What does that even mean?

John “JB” Brock Senior Principal Product Manager Oracle Tools and Frameworks March 01, 2017

Page 2: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Safe Harbor Statement

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

2

Page 3: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 3

Page 4: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

“Enterprise software, also known as enterprise application software (EAS), is computer software used to satisfy the needs of an organization rather than individual users.” – Wikipedia

4

Page 5: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

“Extreme scale or loads, and availability.”

5

Page 6: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

“Basically means that it's complicated enough, that you can build consulting business around it.” – Vartec, stackoverflow

6

Page 7: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Client-Server relationships are changing

7

Page 8: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 8

Page 9: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 9

Page 10: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 10

Page 11: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Client based applications for the Enterprise

11

Page 12: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

7 Building blocks for Enterprise JavaScript

1. Resist the hype 2. Rediscover HTML5 as an application framework 3. Compare responsive design between CSS and JavaScript 4. Evaluate the framework vs. library approach 5. Incorporate modularity 6. Evaluate abstractions over JavaScript, CSS, and HTML 7. Evaluate corporate frameworks

Page 13: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

1. Resist the hype Said another way, “Don’t chase the shiny object!”

13

Page 14: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

•Data heavy monitoring systems

•Behind the firewall management systems

Don’t land airplanes from a phone!

Page 15: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

•Phone alerts

•Management / reporting

Extend, instead of replace

Page 16: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Semantic markup: <article>, <header>

New input types: e-mail, URL, color

New Intellisense/Auto Completion

Validation attributes, 'required' and 'pattern'

2. Rediscover HTML

Page 17: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Original HTML

• Designed as a language for semantically describing scientific documents

HTML5

• A response to demands for multimedia experiences (animations, games, movies, and audio)

• Also contains new built-in application development features

• Semantic elements help Accessibility

HTML and HTML5

Page 18: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Demos

Page 19: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

3. Responsive design with CSS and JavaScript Things may look and behave the same, but have important differences.

Page 20: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Original CSS

• Designed as a stylesheet language for describing the look and feel of documents

CSS3

• Over 50 modules make up CSS3

• “Media Query “ most well known

• Tailor to different resolutions

• Enable responsive design

• But... also take a look at JavaScript for this

Responsive CSS

Page 21: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Show/Hide

• Elements remain in the DOM

• Bound data is still loaded

Load/Unload

• Only included in DOM as needed

• Adjust REST calls dynamically

• Response.js – http://responsejs.com

• Interchange – http://foundation.zurb.com

CSS3 vs. Responsive JavaScript

Page 22: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Demos

Page 23: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

4. Frameworks or Libraries? JavaScript options are huge!

What is the best direction?

Page 24: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 25: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 26: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Different libraries for different purposes

App Frameworks & Libs

Angular, Knockout, Backbone, Vue, React, Ember, …

Module Systems

RequireJS, Browserfy, Webpack, …

Build Systems

Grunt, Gulp, Brunch, …

Testing Frameworks

Protractor, Jasmine, Qunit, Karma, …

Page 27: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Framework approach Library approach

Page 28: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

The larger the application, the more important modularity becomes.

5. Incorporate Modularity

Page 29: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 30: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Compare modular solutions

RequireJS

http://requirejs.org/

Webpack

https://webpack.js.org/

ECMAScript 2015(ES6)

Modules and SystemJS

Browserify

http://browserify.org/

Page 31: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

What’s easiest for your development team?

The picture may not be clear for everyone in the same way.

6. Abstractions over JavaScript, CSS

Page 32: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 33: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 34: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

7. Evaluate corporate frameworks • Microsoft – several

• IBM – several

• Salesforce – several

• SAP – SAP Open UI5 and Fiori

• ING – github.com/Spectingular (AngularJS-based component framework)

• PayPal – krakenjs.com (Node.js/Express based application framework)

• Oracle – oraclejet.org (Toolkit of open source JavaScript libraries)

Page 35: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 36: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

What is Oracle JET?

Page 37: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

JET isn’t just another

framework, It’s a Toolkit!

Page 38: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

A toolkit of existing open source

libraries and new Oracle

componentry

Page 39: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 40: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Its modular! Use only the tools you

need

Page 41: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Basic Components

Page 42: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Advanced Components

Page 43: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 44: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 45: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 46: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 47: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Page 48: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Accessibility Built-in

Page 49: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

28 languages 190+ locales

Page 50: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Mobile ready

Page 51: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

IOS

Android

Windows

Native themes

Page 52: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

• Off-canvas regions allow content to be hidden off-screen until invoked by the user or application

• Very common UI pattern on devices with smaller screens

Common Mobile Paradigms Off-Canvas Elements

Page 53: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

• Pull to refresh is a touch gesture that is commonly used to fetch more data in a lazy-loading situation

Common Mobile Paradigms Pull to Refresh

Page 54: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

• The swipe gesture is an extremely prevalent touch gesture on mobile devices

• On list views, swipe is often used to take action on list items

Common Mobile Paradigms Swipe

Page 55: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

• Features such as sticky listview headers enable users to maintain information context

Common Mobile Paradigms Sticky Headers

Page 56: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

• Support for a an Indexer component

• Another screen real estate saver commonly seen on mobile lists

Common Mobile Paradigms Indexer

Page 57: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

• Often used in conjunction with pull to refresh, JET allows applications to give their users feedback when data is being loaded

• Here a busy indicator is displayed

• JET uses iconography that mirrors the mobile device’s native UI

Common Mobile Paradigms Progressive Data Loading

Page 58: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

• The JET Router used in combination with the JET ojModule can provide platform-appropriate animations

• Content can be swapped out in-place without updating the rest of the page

Common Mobile Paradigms Animations

Page 59: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

It’s all Open Source!

Page 60: Is your JavaScript ready for the Enterprise? · Title: How to Use the PowerPoint Template Author: production Subject: Corproate Presentation Template Created Date: 3/2/2017 9:49:18

Copyright © 2017, Oracle and/or its affiliates. All rights reserved.

Learn More!

http://oraclejet.org

@oraclejet