SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
10 Awesome Tips
for Enterprise JavaScript
Geertjan Wielenga @geertjanw
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

Más contenido relacionado

La actualidad más candente

The Long Walk to Apache NetBeans
The Long Walk to Apache NetBeansThe Long Walk to Apache NetBeans
The Long Walk to Apache NetBeansGeertjan Wielenga
 
Japanese Introduction to Oracle JET
Japanese Introduction to Oracle JETJapanese Introduction to Oracle JET
Japanese Introduction to Oracle JETGeertjan Wielenga
 
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Mee Nam Lee
 
Java cloud service 발표자료
Java cloud service 발표자료Java cloud service 발표자료
Java cloud service 발표자료Mee Nam Lee
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetEdwin Biemond
 
Developers vs DBAs - How to win the war
Developers vs DBAs - How to win the warDevelopers vs DBAs - How to win the war
Developers vs DBAs - How to win the wargvenzl
 
Oracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetOracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetEdwin Biemond
 
Trends and future of java
Trends and future of javaTrends and future of java
Trends and future of javaCsaba Toth
 
Coherence 12.1.3 hidden gems
Coherence 12.1.3 hidden gemsCoherence 12.1.3 hidden gems
Coherence 12.1.3 hidden gemsharvraja
 
Data Management in a Microservices World
Data Management in a Microservices WorldData Management in a Microservices World
Data Management in a Microservices Worldgvenzl
 
The Developers Conference 2014 - Oracle Keynote
The Developers Conference 2014 - Oracle KeynoteThe Developers Conference 2014 - Oracle Keynote
The Developers Conference 2014 - Oracle KeynoteBruno Borges
 
2015 CJUG MVC 1.0
2015 CJUG MVC 1.02015 CJUG MVC 1.0
2015 CJUG MVC 1.0mnriem
 
Oracle Application Container Cloud Service
Oracle Application Container Cloud ServiceOracle Application Container Cloud Service
Oracle Application Container Cloud ServiceJean-Philippe PINTE
 
P6 Resource Management in the web
P6 Resource Management in the webP6 Resource Management in the web
P6 Resource Management in the webp6academy
 
Java 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureJava 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureRogue Wave Software
 

La actualidad más candente (20)

The Long Walk to Apache NetBeans
The Long Walk to Apache NetBeansThe Long Walk to Apache NetBeans
The Long Walk to Apache NetBeans
 
Japanese Introduction to Oracle JET
Japanese Introduction to Oracle JETJapanese Introduction to Oracle JET
Japanese Introduction to Oracle JET
 
Serverless Kotlin
Serverless KotlinServerless Kotlin
Serverless Kotlin
 
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
Oracle Cloud에서 애플리케이션을 개발하고 테스트하는 손쉬운 방법
 
Java cloud service 발표자료
Java cloud service 발표자료Java cloud service 발표자료
Java cloud service 발표자료
 
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and PuppetProvisioning Oracle Fusion Middleware Environments with Chef and Puppet
Provisioning Oracle Fusion Middleware Environments with Chef and Puppet
 
Developers vs DBAs - How to win the war
Developers vs DBAs - How to win the warDevelopers vs DBAs - How to win the war
Developers vs DBAs - How to win the war
 
Oracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with PuppetOracle Fusion Middleware provisioning with Puppet
Oracle Fusion Middleware provisioning with Puppet
 
APAC Tour 2019 update
APAC Tour 2019 updateAPAC Tour 2019 update
APAC Tour 2019 update
 
How to-work-with-the-oracle-user-group-team
How to-work-with-the-oracle-user-group-teamHow to-work-with-the-oracle-user-group-team
How to-work-with-the-oracle-user-group-team
 
DevOps in your Oracle Stack
DevOps in your Oracle StackDevOps in your Oracle Stack
DevOps in your Oracle Stack
 
Trends and future of java
Trends and future of javaTrends and future of java
Trends and future of java
 
Coherence 12.1.3 hidden gems
Coherence 12.1.3 hidden gemsCoherence 12.1.3 hidden gems
Coherence 12.1.3 hidden gems
 
Data Management in a Microservices World
Data Management in a Microservices WorldData Management in a Microservices World
Data Management in a Microservices World
 
JCP 20 Year Anniversary
JCP 20 Year AnniversaryJCP 20 Year Anniversary
JCP 20 Year Anniversary
 
The Developers Conference 2014 - Oracle Keynote
The Developers Conference 2014 - Oracle KeynoteThe Developers Conference 2014 - Oracle Keynote
The Developers Conference 2014 - Oracle Keynote
 
2015 CJUG MVC 1.0
2015 CJUG MVC 1.02015 CJUG MVC 1.0
2015 CJUG MVC 1.0
 
Oracle Application Container Cloud Service
Oracle Application Container Cloud ServiceOracle Application Container Cloud Service
Oracle Application Container Cloud Service
 
P6 Resource Management in the web
P6 Resource Management in the webP6 Resource Management in the web
P6 Resource Management in the web
 
Java 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the futureJava 10 and beyond: Keeping up with the language and planning for the future
Java 10 and beyond: Keeping up with the language and planning for the future
 

Similar a 10 Building Blocks of Enterprise JavaScript

Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaJAXLondon_Conference
 
Surviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript EcosystemSurviving Life in the JavaScript Ecosystem
Surviving Life in the JavaScript EcosystemGeertjan Wielenga
 
Oracle JET: Enterprise-Ready JavaScript Toolkit
Oracle JET: Enterprise-Ready JavaScript ToolkitOracle JET: Enterprise-Ready JavaScript Toolkit
Oracle JET: Enterprise-Ready JavaScript ToolkitGeertjan Wielenga
 
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?!"Geertjan Wielenga
 
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 JavaFXBruno Borges
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
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
 
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 JavaFXBruno Borges
 
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 & TricksJeff Smith
 
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 2016Yolande Poirier
 
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 2018Jeff Smith
 
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 ...Marco Antonio Maciel
 
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 JavaFXBruno Borges
 
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 OracleChris Muir
 
Server Side JavaScript on the JVM - Project Avatar - QCon London March 2014
Server Side JavaScript on the JVM - Project Avatar - QCon London March 2014Server Side JavaScript on the JVM - Project Avatar - QCon London March 2014
Server Side JavaScript on the JVM - Project Avatar - QCon London March 2014David Delabassee
 
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 YouDavid Delabassee
 

Similar a 10 Building Blocks of Enterprise JavaScript (20)

Imworld.ro
Imworld.roImworld.ro
Imworld.ro
 
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan WielengaCoding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
Coding for desktop and mobile with HTML5 and Java EE 7 - Geertjan Wielenga
 
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
 
Oracle JET: Enterprise-Ready JavaScript Toolkit
Oracle JET: Enterprise-Ready JavaScript ToolkitOracle JET: Enterprise-Ready JavaScript Toolkit
Oracle JET: Enterprise-Ready JavaScript Toolkit
 
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!
 
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
 
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
 
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
 
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
 
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
 
Server Side JavaScript on the JVM - Project Avatar - QCon London March 2014
Server Side JavaScript on the JVM - Project Avatar - QCon London March 2014Server Side JavaScript on the JVM - Project Avatar - QCon London March 2014
Server Side JavaScript on the JVM - Project Avatar - QCon London March 2014
 
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
 

Más de Geertjan Wielenga

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, GroningenGeertjan Wielenga
 
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 EEGeertjan Wielenga
 
"Meet the NetBeans Community"
"Meet the NetBeans Community" "Meet the NetBeans Community"
"Meet the NetBeans Community" 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 FrontendsGeertjan Wielenga
 
Busy developer-html5-javaee7
Busy developer-html5-javaee7Busy developer-html5-javaee7
Busy developer-html5-javaee7Geertjan Wielenga
 
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.xGeertjan Wielenga
 
IMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationIMRCruisetoolbox: A Technical Presentation
IMRCruisetoolbox: A Technical PresentationGeertjan Wielenga
 
Getting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGetting Started with the NetBeans Platform
Getting Started with the NetBeans PlatformGeertjan Wielenga
 

Más de Geertjan Wielenga (16)

Slovenian Oracle User Group
Slovenian Oracle User GroupSlovenian Oracle User Group
Slovenian Oracle User Group
 
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
 

Último

RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPTBoston Institute of Analytics
 
办美国阿肯色大学小石城分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
办美国阿肯色大学小石城分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree办美国阿肯色大学小石城分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
办美国阿肯色大学小石城分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degreeyuu sss
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Seán Kennedy
 
MK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxMK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxUnduhUnggah1
 
Semantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxSemantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxMike Bennett
 
毕业文凭制作#回国入职#diploma#degree美国加州州立大学北岭分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#de...
毕业文凭制作#回国入职#diploma#degree美国加州州立大学北岭分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#de...毕业文凭制作#回国入职#diploma#degree美国加州州立大学北岭分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#de...
毕业文凭制作#回国入职#diploma#degree美国加州州立大学北岭分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#de...ttt fff
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsVICTOR MAESTRE RAMIREZ
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfBoston Institute of Analytics
 
INTRODUCTION TO Natural language processing
INTRODUCTION TO Natural language processingINTRODUCTION TO Natural language processing
INTRODUCTION TO Natural language processingsocarem879
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxaleedritatuxx
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
Learn How Data Science Changes Our World
Learn How Data Science Changes Our WorldLearn How Data Science Changes Our World
Learn How Data Science Changes Our WorldEduminds Learning
 
在线办理UM毕业证迈阿密大学毕业证成绩单留信学历认证
在线办理UM毕业证迈阿密大学毕业证成绩单留信学历认证在线办理UM毕业证迈阿密大学毕业证成绩单留信学历认证
在线办理UM毕业证迈阿密大学毕业证成绩单留信学历认证nhjeo1gg
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Cathrine Wilhelmsen
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024Susanna-Assunta Sansone
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Boston Institute of Analytics
 
在线办理WLU毕业证罗瑞尔大学毕业证成绩单留信学历认证
在线办理WLU毕业证罗瑞尔大学毕业证成绩单留信学历认证在线办理WLU毕业证罗瑞尔大学毕业证成绩单留信学历认证
在线办理WLU毕业证罗瑞尔大学毕业证成绩单留信学历认证nhjeo1gg
 

Último (20)

RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
 
办美国阿肯色大学小石城分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
办美国阿肯色大学小石城分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree办美国阿肯色大学小石城分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
办美国阿肯色大学小石城分校毕业证成绩单pdf电子版制作修改#真实留信入库#永久存档#真实可查#diploma#degree
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...
 
MK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docxMK KOMUNIKASI DATA (TI)komdat komdat.docx
MK KOMUNIKASI DATA (TI)komdat komdat.docx
 
Semantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptxSemantic Shed - Squashing and Squeezing.pptx
Semantic Shed - Squashing and Squeezing.pptx
 
Call Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort ServiceCall Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort Service
 
毕业文凭制作#回国入职#diploma#degree美国加州州立大学北岭分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#de...
毕业文凭制作#回国入职#diploma#degree美国加州州立大学北岭分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#de...毕业文凭制作#回国入职#diploma#degree美国加州州立大学北岭分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#de...
毕业文凭制作#回国入职#diploma#degree美国加州州立大学北岭分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#de...
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business Professionals
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
 
INTRODUCTION TO Natural language processing
INTRODUCTION TO Natural language processingINTRODUCTION TO Natural language processing
INTRODUCTION TO Natural language processing
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptxmodul pembelajaran robotic Workshop _ by Slidesgo.pptx
modul pembelajaran robotic Workshop _ by Slidesgo.pptx
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
Learn How Data Science Changes Our World
Learn How Data Science Changes Our WorldLearn How Data Science Changes Our World
Learn How Data Science Changes Our World
 
在线办理UM毕业证迈阿密大学毕业证成绩单留信学历认证
在线办理UM毕业证迈阿密大学毕业证成绩单留信学历认证在线办理UM毕业证迈阿密大学毕业证成绩单留信学历认证
在线办理UM毕业证迈阿密大学毕业证成绩单留信学历认证
 
Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)Data Factory in Microsoft Fabric (MsBIP #82)
Data Factory in Microsoft Fabric (MsBIP #82)
 
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
FAIR, FAIRsharing, FAIR Cookbook and ELIXIR - Sansone SA - Boston 2024
 
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
Data Analysis Project : Targeting the Right Customers, Presentation on Bank M...
 
在线办理WLU毕业证罗瑞尔大学毕业证成绩单留信学历认证
在线办理WLU毕业证罗瑞尔大学毕业证成绩单留信学历认证在线办理WLU毕业证罗瑞尔大学毕业证成绩单留信学历认证
在线办理WLU毕业证罗瑞尔大学毕业证成绩单留信学历认证
 

10 Building Blocks of Enterprise JavaScript

  • 1. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 10 Awesome Tips for Enterprise JavaScript Geertjan Wielenga @geertjanw
  • 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