SlideShare a Scribd company logo
1 of 65
Download to read offline
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
JavaScript in the Enterprise
for Java Developers
Geertjan Wielenga
@geertjanw
Oracle
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
A metaphor
for our age!
The distracted
society!
Facebook
beats
Rembrandt!
(And the end
of the world
is nigh.)
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Actually...
They're using
a museum app.
And are finding
out more about
the paintings they
had been closely
focused on a few
minutes earlier.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Browser platform Java platform
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
10 Building Blocks of 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. Don't worry about ecosystem volatility.
8. Reorientate around WONTA instead of WORA.
9. Evaluate corporate frameworks.
10. Reconsider JavaScript as assembly language.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
1. Resist the hype
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
โ— Data heavy
monitoring systems.
โ— Behind the firewall
management systems.
โ— Large resolution
requirements.
โ— All the users
in the same room.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
1a. Consider supplementing
with new devices
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
โ— Mobile app
to receive urgent notifications
for air traffic controlers.
โ— Web app
to display reports
for upper management.
โ— And keep the main system
exactly as it has always been
since that's how it makes sense.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
2. Rediscover HTML5 as an
application framework
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
HTML5: Not Documents Only, Not Multimedia Only
โ—
Originally, HTML was designed
as a language for semantically
describing scientific documents.
โ—
HTML5 is a response to
demands for multimedia experiences
(animations, games, movies, and audio).
โ—
However, it also includes
built-in application-development features.
โ—
Semantic markup: <article>, <header>
โ—
New input types: e-mail, URL, color.
โ—
New Intellisense/Auto Completion.
โ—
Validation attributes, 'required' and 'pattern'.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Principles of HTML5
โ—
New features should be
based on HTML, CSS, and JavaScript.
โ—
Need for external plugins, e.g., Flash,
should be reduced.
โ—
Error handling should be easier
than previous versions.
โ—
Scripting should be replaced
by more markup.
โ—
HTML5 should be device independent.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
<input id="country_name"
name="mycountry"
type="text"
required
list="country" />
<datalist id="country">
<option value="Afghanistan">
<option value="Albania">
<option value="Algeria">
<option value="Andorra">
<option value="Angola">
</datalist>
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Demos
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
3. Compare responsive design
between CSS and JavaScript
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
CSS: Not Only Styling of Documents
โ—
Originally, CSS was designed
as a stylesheet language for describing
the look and feel of documents.
โ—
Unlike previous versions, CSS3
is modular: over 50 modules
make up CSS3.
โ—
โ€œMedia Queryโ€ is the most well known.
โ—
Tailer to different resolutions.
โ—
Enable responsive design.
โ—
But... also take a look at JavaScript for this.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
CSS: Maybe Less Effective Than JavaScript
โ—
CSS3 Media Queries
show/hide elements from the DOM.
โ—
JavaScript libraries
load/unload elements from the DOM.
โ—
Response.js:
http://responsejs.com
โ—
Foundation Interchange:
http://foundation.zurb.com
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Demos
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
4. Evaluate the
framework vs. library approach
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Different Libraries, Different Purposes
โ€ข
Application Frameworks & Libraries
Angular, Knockout, Backbone, Ext, React, Ember, and more
โ€ข
Component Libraries
JQuery UI, Sencha, PrimeFaces, and more
โ€ข
Module Systems
RequireJS, Browserfy, and more
โ€ข
Build Systems
Grunt, Gulp, Brunch, and more
โ€ข
Testing Frameworks
Protractor, Jasmine, Qunit, Karma,
and more
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Framework
approach:
Library
approach:
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
5. Incorporate modularity
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Modularity: Not Natively Built into JavaScript, Right Now
โ—
Consider and compare available modularity solutions
โ—
Require.js:
http://requirejs.org/
โ—
Browserify:
http://browserify.org/
โ—
SystemJS
โ—
ECMAScript 6 Modules
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Demos
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
6. Evaluate abstractions over
JavaScript, CSS, and HTML
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
HTML: Emmet
JavaScript: TypeScript, CoffeeScript
CSS: SASS, LESS
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
7. Don't worry about
ecosystem volatility
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Life in a Volatile Ecosystem
โ—
Lifespan of your app equals lifespan of the framework you're using.
โ—
1 ยฝ to 2 year lifespan.
โ—
Is the code hard to read, no worries, it'll be rewritten from scratch soon.
โ—
Don't worry so much about maintainability and backward compatibility.
โ—
Things change fast, the ecosystem is already different right now
than when this presentation started.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
8. Reorientate around WONTA
instead of WORA
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Write Once, Never Touch Again
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
9. Evaluate corporate frameworks
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Unexpected Organizations in Enterprise JavaScript
and open source software projects in general
โ—
Microsoft โ€“ several
โ—
IBM โ€“ several
โ—
SalesForce โ€“ several
โ—
SAP โ€“ SAP 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.)
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Requirements First
โ€ข
Responsive Design
โ€ข
Modularity
โ€ข
Single Page Application
โ€ข
Accessibility
โ€ข
Internationalization
โ€ข
Security & Performance Optimization
โ€ข
Conformance to Standards
โ€ข
Documentation & Support
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Oracle JET: Free & Open Source Enterprise JavaScript
Oracle JavaScript Extension Toolkit
โ€ข
oraclejet.org, @oraclejet, github.com/oracle/oraclejet
โ€ข
Not a framework, not a library, but a toolkit
โ€ข
Collection of open source libraries, e.g., Require, Knockout, JQuery
โ€ข
Free and open source component library (Graphs, Charts, etc)
โ€ข
Architecture and templates and enterprise solutions, e.g., accessibility
โ€ข
Actively used within Oracle, since about 3 years
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Twitter: @oraclejet
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Twitter: @oraclejet
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Twitter: @oraclejet
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Oracle JET: Free & Open Source Enterprise JavaScript
Oracle JavaScript Extension Toolkit
โ€ข
oraclejet.org, @oraclejet, github.com/oracle/oraclejet
โ€ข
Not a framework, not a library, but a toolkit
โ€ข
Collection of open source libraries, e.g., Require, Knockout, JQuery
โ€ข
Free and open source component library (Graphs, Charts, etc)
โ€ข
Architecture and templates and enterprise solutions, e.g., accessibility
โ€ข
Actively used within Oracle, since about 3 years
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
10. Reconsider JavaScript
as assembly language
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Write in Java โ€“ Let Framework Create JavaScript
โ—
https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js
โ—
Vaadin: http://vaadin.com
โ—
DukeScript: http://dukescript.com
โ—
Framework for creating applications for all devices from single codebase.
โ—
Plain Java applications that internally use JavaScript and HTML.
โ—
Business logic in Java and view in HTML.
โ—
Maven archetypes in Maven central.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Write in Java โ€“ Let Framework Create JavaScript
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Write in Java โ€“ Let Framework Create JavaScript
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
10 Building Blocks of 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. Don't worry about ecosystem volatility.
8. Reorientate around WONTA instead of WORA.
9. Evaluate corporate frameworks.
10. Reconsider JavaScript as assembly language.
Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
Contact Details
@geertjanw
@oraclejet
geertjan.wielenga@oracle.com
blogs.oracle.com/geertjan

More Related Content

What's hot

Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7
Hirofumi Iwasaki
ย 

What's hot (11)

Java 101
Java 101Java 101
Java 101
ย 
Server Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David DelabasseeServer Side JavaScript on the Java Platform - David Delabassee
Server Side JavaScript on the Java Platform - David Delabassee
ย 
JavaCro'15 - HUJAKing โ€“ Expansion of Java Community - Branko Mihaljeviฤ‡, Alek...
JavaCro'15 - HUJAKing โ€“ Expansion of Java Community - Branko Mihaljeviฤ‡, Alek...JavaCro'15 - HUJAKing โ€“ Expansion of Java Community - Branko Mihaljeviฤ‡, Alek...
JavaCro'15 - HUJAKing โ€“ Expansion of Java Community - Branko Mihaljeviฤ‡, Alek...
ย 
๏ฟผEJB and CDI - Alignment and Strategy
๏ฟผEJB and CDI - Alignment and Strategy๏ฟผEJB and CDI - Alignment and Strategy
๏ฟผEJB and CDI - Alignment and Strategy
ย 
The Modern Java Web Developer - Denver JUG 2013
The Modern Java Web Developer - Denver JUG 2013The Modern Java Web Developer - Denver JUG 2013
The Modern Java Web Developer - Denver JUG 2013
ย 
GraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajevGraalVM Native Images by Oleg Selajev @shelajev
GraalVM Native Images by Oleg Selajev @shelajev
ย 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
ย 
Hortonworks Big Data Career Paths and Training
Hortonworks Big Data Career Paths and Training Hortonworks Big Data Career Paths and Training
Hortonworks Big Data Career Paths and Training
ย 
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishBatch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
ย 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFX
ย 
Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7
ย 

Viewers also liked

Viewers also liked (13)

Session at Oredev 2016.
Session at Oredev 2016.Session at Oredev 2016.
Session at Oredev 2016.
ย 
Java Master Class
Java Master ClassJava Master Class
Java Master Class
ย 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JET
ย 
State of NetBeans
State of NetBeansState of NetBeans
State of NetBeans
ย 
Oracle JET
Oracle JETOracle JET
Oracle JET
ย 
Oracle User Group Holland
Oracle User Group HollandOracle User Group Holland
Oracle User Group Holland
ย 
Oracle JET, with JET Mobile Content
Oracle JET, with JET Mobile ContentOracle JET, with JET Mobile Content
Oracle JET, with JET Mobile Content
ย 
Japanese Introduction to Oracle JET
Japanese Introduction to Oracle JETJapanese Introduction to Oracle JET
Japanese Introduction to Oracle JET
ย 
Oracle JET: Enterprise-Ready JavaScript Toolkit
Oracle JET: Enterprise-Ready JavaScript ToolkitOracle JET: Enterprise-Ready JavaScript Toolkit
Oracle JET: Enterprise-Ready JavaScript Toolkit
ย 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
ย 
10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript10 Building Blocks for Enterprise JavaScript
10 Building Blocks for Enterprise JavaScript
ย 
JFall 2016: Oracle JET Session
JFall 2016: Oracle JET SessionJFall 2016: Oracle JET Session
JFall 2016: Oracle JET Session
ย 
Offline Web with Oracle JET
Offline Web with Oracle JETOffline Web with Oracle JET
Offline Web with Oracle JET
ย 

Similar to Slovenian Oracle User Group

Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Bruno Borges
ย 
Project Avatar (Lyon JUG & Alpes JUG - March 2014)
Project Avatar (Lyon JUG & Alpes JUG  - March 2014)Project Avatar (Lyon JUG & Alpes JUG  - March 2014)
Project Avatar (Lyon JUG & Alpes JUG - March 2014)
David Delabassee
ย 
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur! Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
David Delabassee
ย 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Bruno Borges
ย 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
Obaidur (OB) Rashid
ย 

Similar to Slovenian Oracle User Group (20)

JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
JavaCro'15 - Everything a Java EE Developer needs to know about the JavaScrip...
ย 
Surviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript EcosystemSurviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript Ecosystem
ย 
geecon 2016: "What's Oracle Doing with JavaScript?!"
geecon 2016: "What's Oracle Doing with JavaScript?!"geecon 2016: "What's Oracle Doing with JavaScript?!"
geecon 2016: "What's Oracle Doing with JavaScript?!"
ย 
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFXTweet4Beer - Beertap powered by Java goes IoT and JavaFX
Tweet4Beer - Beertap powered by Java goes IoT and JavaFX
ย 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
ย 
Project Avatar (Lyon JUG & Alpes JUG - March 2014)
Project Avatar (Lyon JUG & Alpes JUG  - March 2014)Project Avatar (Lyon JUG & Alpes JUG  - March 2014)
Project Avatar (Lyon JUG & Alpes JUG - March 2014)
ย 
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur! Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
Java EE 7 et ensuite pourquoi pas JavaScript sur le serveur!
ย 
Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016
ย 
๏ฟผTweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
๏ฟผTweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...๏ฟผTweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
๏ฟผTweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
ย 
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFXTweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
Tweet for Beer - Beertap Powered by Java Goes IoT, Cloud, and JavaFX
ย 
UX Directions with HTML 5, and More
UX Directions with HTML 5, and MoreUX Directions with HTML 5, and More
UX Directions with HTML 5, and More
ย 
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with OracleMobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
Mobile Mumbo Jumbo - Demystifying the World of Enterprise Mobility with Oracle
ย 
What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018What's New in Oracle SQL Developer for 2018
What's New in Oracle SQL Developer for 2018
ย 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
ย 
Oracle Cloud: Anything as a Service
Oracle Cloud: Anything as a ServiceOracle Cloud: Anything as a Service
Oracle Cloud: Anything as a Service
ย 
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & TricksPennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
Pennsylvania Banner User Group Webinar: Oracle SQL Developer Tips & Tricks
ย 
Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?Oracle SQL Developer for SQL Server?
Oracle SQL Developer for SQL Server?
ย 
Serverless Kotlin
Serverless KotlinServerless Kotlin
Serverless Kotlin
ย 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
ย 
Real-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and SolutionsReal-World RESTful Service Development Problems and Solutions
Real-World RESTful Service Development Problems and Solutions
ย 

More from Geertjan Wielenga

Consuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile FrontendsConsuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile Frontends
Geertjan Wielenga
ย 
Busy developer-html5-javaee7
Busy developer-html5-javaee7Busy developer-html5-javaee7
Busy developer-html5-javaee7
Geertjan Wielenga
ย 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans Platform
Geertjan Wielenga
ย 

More from Geertjan Wielenga (16)

The Long Walk to Apache NetBeans
The Long Walk to Apache NetBeansThe Long Walk to Apache NetBeans
The Long Walk to Apache NetBeans
ย 
Technology Evangelism
Technology EvangelismTechnology Evangelism
Technology Evangelism
ย 
Technology evangelist
Technology evangelistTechnology evangelist
Technology evangelist
ย 
NetBeans Workshop at Hanze University of Applied Science, Groningen
NetBeans Workshop at Hanze University of Applied Science, GroningenNetBeans Workshop at Hanze University of Applied Science, Groningen
NetBeans Workshop at Hanze University of Applied Science, Groningen
ย 
Coding for Desktop & Mobile with HTML5 & Java EE
Coding for Desktop & Mobile with HTML5 & Java EECoding for Desktop & Mobile with HTML5 & Java EE
Coding for Desktop & Mobile with HTML5 & Java EE
ย 
"Meet the NetBeans Community"
"Meet the NetBeans Community" "Meet the NetBeans Community"
"Meet the NetBeans Community"
ย 
Consuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile FrontendsConsuming Java EE in Desktop, Web, and Mobile Frontends
Consuming Java EE in Desktop, Web, and Mobile Frontends
ย 
Smart Migration to JDK 8
Smart Migration to JDK 8Smart Migration to JDK 8
Smart Migration to JDK 8
ย 
Ext java-editor
Ext java-editorExt java-editor
Ext java-editor
ย 
Busy developer-html5-javaee7
Busy developer-html5-javaee7Busy developer-html5-javaee7
Busy developer-html5-javaee7
ย 
Extending NetBeans IDE
Extending NetBeans IDEExtending NetBeans IDE
Extending NetBeans IDE
ย 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
ย 
Bof4162 kovalsky
Bof4162 kovalskyBof4162 kovalsky
Bof4162 kovalsky
ย 
Cisco Localisation Toolkit
Cisco Localisation ToolkitCisco Localisation Toolkit
Cisco Localisation Toolkit
ย 
IMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationIMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical Presentation
ย 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans Platform
ย 

Recently uploaded

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
bodapatigopi8531
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
anilsa9823
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
ย 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
ย 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
ย 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
ย 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
ย 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
ย 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
ย 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
ย 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
ย 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
ย 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
ย 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
ย 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
ย 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
ย 
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spacesย - and Epistemic Querying of RDF-...
ย 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
ย 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
ย 

Slovenian Oracle User Group

  • 1. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. JavaScript in the Enterprise for Java Developers Geertjan Wielenga @geertjanw Oracle
  • 2. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 3. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. A metaphor for our age! The distracted society! Facebook beats Rembrandt! (And the end of the world is nigh.)
  • 4. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Actually... They're using a museum app. And are finding out more about the paintings they had been closely focused on a few minutes earlier.
  • 5. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Browser platform Java platform
  • 6. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 7. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 10 Building Blocks of 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. Don't worry about ecosystem volatility. 8. Reorientate around WONTA instead of WORA. 9. Evaluate corporate frameworks. 10. Reconsider JavaScript as assembly language.
  • 8. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 1. Resist the hype
  • 9. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 10. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. โ— Data heavy monitoring systems. โ— Behind the firewall management systems. โ— Large resolution requirements. โ— All the users in the same room.
  • 11. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 1a. Consider supplementing with new devices
  • 12. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. โ— Mobile app to receive urgent notifications for air traffic controlers. โ— Web app to display reports for upper management. โ— And keep the main system exactly as it has always been since that's how it makes sense.
  • 13. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 2. Rediscover HTML5 as an application framework
  • 14. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 15. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. HTML5: Not Documents Only, Not Multimedia Only โ— Originally, HTML was designed as a language for semantically describing scientific documents. โ— HTML5 is a response to demands for multimedia experiences (animations, games, movies, and audio). โ— However, it also includes built-in application-development features. โ— Semantic markup: <article>, <header> โ— New input types: e-mail, URL, color. โ— New Intellisense/Auto Completion. โ— Validation attributes, 'required' and 'pattern'.
  • 16. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Principles of HTML5 โ— New features should be based on HTML, CSS, and JavaScript. โ— Need for external plugins, e.g., Flash, should be reduced. โ— Error handling should be easier than previous versions. โ— Scripting should be replaced by more markup. โ— HTML5 should be device independent.
  • 17. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. <input id="country_name" name="mycountry" type="text" required list="country" /> <datalist id="country"> <option value="Afghanistan"> <option value="Albania"> <option value="Algeria"> <option value="Andorra"> <option value="Angola"> </datalist>
  • 18. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Demos
  • 19. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 3. Compare responsive design between CSS and JavaScript
  • 20. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 21. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. CSS: Not Only Styling of Documents โ— Originally, CSS was designed as a stylesheet language for describing the look and feel of documents. โ— Unlike previous versions, CSS3 is modular: over 50 modules make up CSS3. โ— โ€œMedia Queryโ€ is the most well known. โ— Tailer to different resolutions. โ— Enable responsive design. โ— But... also take a look at JavaScript for this.
  • 22. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. CSS: Maybe Less Effective Than JavaScript โ— CSS3 Media Queries show/hide elements from the DOM. โ— JavaScript libraries load/unload elements from the DOM. โ— Response.js: http://responsejs.com โ— Foundation Interchange: http://foundation.zurb.com
  • 23. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Demos
  • 24. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 4. Evaluate the framework vs. library approach
  • 25. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 26. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 27. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 28. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Different Libraries, Different Purposes โ€ข Application Frameworks & Libraries Angular, Knockout, Backbone, Ext, React, Ember, and more โ€ข Component Libraries JQuery UI, Sencha, PrimeFaces, and more โ€ข Module Systems RequireJS, Browserfy, and more โ€ข Build Systems Grunt, Gulp, Brunch, and more โ€ข Testing Frameworks Protractor, Jasmine, Qunit, Karma, and more
  • 29. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Framework approach: Library approach:
  • 30. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 5. Incorporate modularity
  • 31. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 32. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Modularity: Not Natively Built into JavaScript, Right Now โ— Consider and compare available modularity solutions โ— Require.js: http://requirejs.org/ โ— Browserify: http://browserify.org/ โ— SystemJS โ— ECMAScript 6 Modules
  • 33. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Demos
  • 34. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 6. Evaluate abstractions over JavaScript, CSS, and HTML
  • 35. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 36. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. HTML: Emmet JavaScript: TypeScript, CoffeeScript CSS: SASS, LESS
  • 37. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 7. Don't worry about ecosystem volatility
  • 38. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 39. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Life in a Volatile Ecosystem โ— Lifespan of your app equals lifespan of the framework you're using. โ— 1 ยฝ to 2 year lifespan. โ— Is the code hard to read, no worries, it'll be rewritten from scratch soon. โ— Don't worry so much about maintainability and backward compatibility. โ— Things change fast, the ecosystem is already different right now than when this presentation started.
  • 40. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 41. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 8. Reorientate around WONTA instead of WORA
  • 42. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 43. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Write Once, Never Touch Again
  • 44. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 9. Evaluate corporate frameworks
  • 45. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 46. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Unexpected Organizations in Enterprise JavaScript and open source software projects in general โ— Microsoft โ€“ several โ— IBM โ€“ several โ— SalesForce โ€“ several โ— SAP โ€“ SAP 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.)
  • 47. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 48. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 49. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Requirements First โ€ข Responsive Design โ€ข Modularity โ€ข Single Page Application โ€ข Accessibility โ€ข Internationalization โ€ข Security & Performance Optimization โ€ข Conformance to Standards โ€ข Documentation & Support
  • 50. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Oracle JET: Free & Open Source Enterprise JavaScript Oracle JavaScript Extension Toolkit โ€ข oraclejet.org, @oraclejet, github.com/oracle/oraclejet โ€ข Not a framework, not a library, but a toolkit โ€ข Collection of open source libraries, e.g., Require, Knockout, JQuery โ€ข Free and open source component library (Graphs, Charts, etc) โ€ข Architecture and templates and enterprise solutions, e.g., accessibility โ€ข Actively used within Oracle, since about 3 years
  • 51. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 52. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Twitter: @oraclejet
  • 53. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Twitter: @oraclejet
  • 54. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Twitter: @oraclejet
  • 55. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 56. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 57. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Oracle JET: Free & Open Source Enterprise JavaScript Oracle JavaScript Extension Toolkit โ€ข oraclejet.org, @oraclejet, github.com/oracle/oraclejet โ€ข Not a framework, not a library, but a toolkit โ€ข Collection of open source libraries, e.g., Require, Knockout, JQuery โ€ข Free and open source component library (Graphs, Charts, etc) โ€ข Architecture and templates and enterprise solutions, e.g., accessibility โ€ข Actively used within Oracle, since about 3 years
  • 58. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 10. Reconsider JavaScript as assembly language
  • 59. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 60. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved.
  • 61. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Write in Java โ€“ Let Framework Create JavaScript โ— https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js โ— Vaadin: http://vaadin.com โ— DukeScript: http://dukescript.com โ— Framework for creating applications for all devices from single codebase. โ— Plain Java applications that internally use JavaScript and HTML. โ— Business logic in Java and view in HTML. โ— Maven archetypes in Maven central.
  • 62. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Write in Java โ€“ Let Framework Create JavaScript
  • 63. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Write in Java โ€“ Let Framework Create JavaScript
  • 64. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. 10 Building Blocks of 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. Don't worry about ecosystem volatility. 8. Reorientate around WONTA instead of WORA. 9. Evaluate corporate frameworks. 10. Reconsider JavaScript as assembly language.
  • 65. Copyright ยฉ 2014, Oracle and/or its affiliates. All rights reserved. Contact Details @geertjanw @oraclejet geertjan.wielenga@oracle.com blogs.oracle.com/geertjan