javaone 2013: «java and javascript - shaken, not stirred»

28
www.faratasystems.com // follow me : twitter.com/gamussa Java and JavaScripT— Shaken, Not Stirred Viktor Gamov Senior Software ENGINEER, Farata Systems Tuesday, September 24, 13

Upload: viktor-gamov

Post on 10-May-2015

560 views

Category:

Technology


2 download

DESCRIPTION

There is a perception in the Java community that JavaScript is a second-league interpreted language with the main purpose of making Web pages a little prettier. But JavaScript is a powerful, flexible, dynamically typed language. And today language has been experiencing its a revival driven by the interest in HTML5. Nashorn is a modern JavaScript engine available on JVM, and it’s already included with JDK8 builds. This presentation is about building polyglot application with Java and JavaScript.

TRANSCRIPT

Page 1: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

www.faratasystems.com // follow me : twitter.com/gamussa

Java and JavaScripT— Shaken, Not Stirred

Viktor GamovSenior Software ENGINEER, Farata Systems

Tuesday, September 24, 13

Page 2: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Why you’re here

★JavaScript enthusiast

★you're interested in JDK8 features

★You're fan of James Bond series

★you're one of my friends and I asked

you to come...

Tuesday, September 24, 13

Page 3: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Who is talking?

★Software engineer and consultant

★co-author and JUG co-lead

★professional Russian

Tuesday, September 24, 13

Page 4: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Tuesday, September 24, 13

Page 5: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Who is talking?

★Software engineer and consultant

★co-author and JUG co-lead

★professional Russian

★Guy between you and beer

Tuesday, September 24, 13

Page 6: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Tuesday, September 24, 13

Page 7: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Brace yourself, winter is coming

Tuesday, September 24, 13

Page 8: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Tuesday, September 24, 13

Page 9: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

http://enterprisewebbook.com

Coming to the storesWinter of 2014

Tuesday, September 24, 13

Page 10: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Draft available for free

http://enterprisewebbook.com

Tuesday, September 24, 13

Page 11: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Polyglot?

Tuesday, September 24, 13

Page 12: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Everybody knows how to javascript

Tuesday, September 24, 13

Page 13: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

JavaScript, wat?

www.destroyallsoftware.com/talks/wat

Tuesday, September 24, 13

Page 14: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

MANY good Parts

Tuesday, September 24, 13

Page 15: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

SHELL Scripting

Extend app functionality on runtime

1

2

3

JAVASCRIPT on JVM USE cASES

WEB-content generation4

provide extension points for application

Tuesday, September 24, 13

Page 16: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

wait, javascript? it’s only for browsers

Tuesday, September 24, 13

Page 17: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

JAVAScript is everywhere

★v8 and nodejs

★Rhino was here for years

★Here comes nashorn

Tuesday, September 24, 13

Page 18: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

What is Nashorn?

Tuesday, September 24, 13

Page 19: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Ultimate invokedynamic consumer

100% pure Java implementation

100% ECMAScript 5.1 compliant

JavaScript Engine for JVM

What is Nashorn?

100% compiled to bytecode, no interpreter

http://www.1001ausmalbilder.de/ausmalbilder/gross/ausmalbild-nashorn-7.jpgTuesday, September 24, 13

Page 20: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

HOW To USE NASHORN?

★The only API is JSR-223: javax.scripting.*

★Java from JavaScript and vice versa

★Create and manipulate Java/JavaScript objects

★Extend Java classes

★ Implement Java interfaces

Tuesday, September 24, 13

Page 21: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Story one:Curious

support engineer

Tuesday, September 24, 13

Page 22: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Story one:Curious support engineer

Tuesday, September 24, 13

Page 23: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Story two: Family is everything

Tuesday, September 24, 13

Page 24: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Story two: Family is everything

Tuesday, September 24, 13

Page 25: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Story Three: NASHORN for Browser

Tuesday, September 24, 13

Page 26: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Restrictions

★There ARE No browser APIs:

★HTML5 canvas

★HTML5 audio

★WebWorkers

★WebSockets

★WebGL

Tuesday, September 24, 13

Page 27: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

Q&ATuesday, September 24, 13

Page 28: JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»

THANKS FOR YOUR ATTENTION

www.faratasystems.com // follow me : twitter.com/gamussa

Tuesday, September 24, 13