SlideShare a Scribd company logo
1 of 27
1CONFIDENTIAL
Nashorn, what is the
whole buzz about
2CONFIDENTIAL
Ask questions
By The U.S. Army
3CONFIDENTIAL
I love your feedback! 
@michalgruca
michal.gruca@gmail.com
www.rits.pl
4CONFIDENTIAL
5CONFIDENTIAL
GENERAL
NASHORN
6CONFIDENTIAL
7CONFIDENTIAL
• yet another js runtime -> on server
built on top of Java
quite fast
EcmaScript 5.1 compatible
Nashorn is …
By Valentina Storti
8CONFIDENTIAL
Allows to build DSL
Runtime modularity
Full access from .js to JVM
A lot of developers on market
Simple language
Even your user may try it
Why to use
9CONFIDENTIAL
Or because …
10CONFIDENTIAL
GENERAL
NASHORN :: DEMO
11CONFIDENTIAL
TWO WAY INTEROPERABILITY
NASHORN :: DEMO
12CONFIDENTIAL
TESTING
NASHORN :: DEMO
13CONFIDENTIAL
VALIDATION
NASHORN :: DEMO
14CONFIDENTIAL
SCRIPTING
NASHORN :: DEMO
15CONFIDENTIAL
PROJECT AVATAR
NASHORN
16CONFIDENTIAL
• Project Avatar is a JavaScript service
layer, that fully utilizes Nashorn
Engine.
• It aims at reducing JavaScript
knowledge required to start coding
• It’s a direct response to node
What avatar is
17CONFIDENTIAL
https://www.flickr.com/photos/45928872@N08/4211101808/
18CONFIDENTIAL
www.techempower.com/benchmarks
19CONFIDENTIAL
CONS
NASHORN
20CONFIDENTIAL
http://ariya.ofilabs.com/2014/03/nashorn-the-new-rhino-on-the-block.html
21CONFIDENTIAL
• Nashorn is much slower than Node
– But getting faster! (JDK8u20 & JDK8u40)
• JDK 8 only
– JDK 7: Rhino and dynJS
• May have issues with various frameworks
• Yet another level of abstraction
– With not so many examples
https://www.threadless.com/@alanis
22CONFIDENTIAL
Can be tricky
• Types
– Collections
• Programming model
• Execution model
• Scopes & contextes
• Libraries
• Developers
by Yoel Ben-Avraham
23CONFIDENTIAL
ITERATING
NASHORN :: DEMO
24CONFIDENTIAL
REAL WORLD EXAMPLE
NASHORN
25CONFIDENTIAL
My project
• Soft real time
• Controlling thousands of
devices
• Multithreaded
• „Distributed”
26CONFIDENTIAL
27CONFIDENTIAL
I love your feedback! 
@michalgruca
michal.gruca@gmail.com
www.rits.pl

More Related Content

What's hot

$PENK->{'YAPC::Tiny'};
$PENK->{'YAPC::Tiny'};$PENK->{'YAPC::Tiny'};
$PENK->{'YAPC::Tiny'};
Ping-Hsun Chen
 

What's hot (19)

OSMC 2013 | Zabbix: A Practical Demo by Rihards Olups
OSMC 2013 | Zabbix: A Practical Demo by Rihards OlupsOSMC 2013 | Zabbix: A Practical Demo by Rihards Olups
OSMC 2013 | Zabbix: A Practical Demo by Rihards Olups
 
A~Z Of Accelerator
A~Z Of AcceleratorA~Z Of Accelerator
A~Z Of Accelerator
 
Vagrant for Development
Vagrant for DevelopmentVagrant for Development
Vagrant for Development
 
Kong Ingress Controller - Fullstaq Show N Tell
Kong Ingress Controller - Fullstaq Show N TellKong Ingress Controller - Fullstaq Show N Tell
Kong Ingress Controller - Fullstaq Show N Tell
 
Vagrantfordevops
VagrantfordevopsVagrantfordevops
Vagrantfordevops
 
Into the Wild with Node.js and Web Apps
Into the Wild with Node.js and Web AppsInto the Wild with Node.js and Web Apps
Into the Wild with Node.js and Web Apps
 
Local development environment through virtualisation
Local development environment through virtualisationLocal development environment through virtualisation
Local development environment through virtualisation
 
First Step towards WebAssembly with Rust
First Step towards WebAssembly with RustFirst Step towards WebAssembly with Rust
First Step towards WebAssembly with Rust
 
Deployment tales
Deployment talesDeployment tales
Deployment tales
 
Deployment tales
Deployment talesDeployment tales
Deployment tales
 
Web Crypto
Web CryptoWeb Crypto
Web Crypto
 
Simplestack
SimplestackSimplestack
Simplestack
 
G3 Summit 2016 - Dockerize your Grails!
G3 Summit 2016 - Dockerize your Grails!G3 Summit 2016 - Dockerize your Grails!
G3 Summit 2016 - Dockerize your Grails!
 
LinuxKit and OpenOverlay
LinuxKit and OpenOverlayLinuxKit and OpenOverlay
LinuxKit and OpenOverlay
 
Realtime MVC with Sails.js
Realtime MVC with Sails.jsRealtime MVC with Sails.js
Realtime MVC with Sails.js
 
$PENK->{'YAPC::Tiny'};
$PENK->{'YAPC::Tiny'};$PENK->{'YAPC::Tiny'};
$PENK->{'YAPC::Tiny'};
 
Ceph Day Beijing: Ceph-Dokan: A Native Windows Ceph Client
Ceph Day Beijing: Ceph-Dokan: A Native Windows Ceph Client Ceph Day Beijing: Ceph-Dokan: A Native Windows Ceph Client
Ceph Day Beijing: Ceph-Dokan: A Native Windows Ceph Client
 
Web Crypto
Web CryptoWeb Crypto
Web Crypto
 
Seleconf2015 - Automating for the Second Screen with WebdriverJS
Seleconf2015 - Automating for the Second Screen with WebdriverJSSeleconf2015 - Automating for the Second Screen with WebdriverJS
Seleconf2015 - Automating for the Second Screen with WebdriverJS
 

Similar to Nashorn, what is the whole buzz about

OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!
Nicolas Fränkel
 

Similar to Nashorn, what is the whole buzz about (20)

Java & JavaScript: Best Friends?
Java & JavaScript: Best Friends?Java & JavaScript: Best Friends?
Java & JavaScript: Best Friends?
 
Microservices: a journey of an eternal improvement
Microservices: a journey of an eternal improvementMicroservices: a journey of an eternal improvement
Microservices: a journey of an eternal improvement
 
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVMHOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
HOW TO CREATE AWESOME POLYGLOT APPLICATIONS USING GRAALVM
 
Node.js
Node.jsNode.js
Node.js
 
CRaSH the shell for the JVM
CRaSH the shell for the JVMCRaSH the shell for the JVM
CRaSH the shell for the JVM
 
Efficient mobile automation
Efficient mobile automationEfficient mobile automation
Efficient mobile automation
 
How To Add Any Feature To Your Selenium Grid
How To Add Any Feature To Your Selenium GridHow To Add Any Feature To Your Selenium Grid
How To Add Any Feature To Your Selenium Grid
 
Resilience Testing
Resilience Testing Resilience Testing
Resilience Testing
 
Mono for Android?
Mono for Android?Mono for Android?
Mono for Android?
 
Building Applications on Avalanche
Building Applications on AvalancheBuilding Applications on Avalanche
Building Applications on Avalanche
 
Urs Köster Presenting at RE-Work DL Summit in Boston
Urs Köster Presenting at RE-Work DL Summit in BostonUrs Köster Presenting at RE-Work DL Summit in Boston
Urs Köster Presenting at RE-Work DL Summit in Boston
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
 
Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017Win Spinnaker with Winnaker - Open Source North Conf 2017
Win Spinnaker with Winnaker - Open Source North Conf 2017
 
Shorten All URLs
Shorten All URLsShorten All URLs
Shorten All URLs
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!
 
Jax keynote
Jax keynoteJax keynote
Jax keynote
 
Open vSwitch Implementation Options
Open vSwitch Implementation Options Open vSwitch Implementation Options
Open vSwitch Implementation Options
 
Quick Yang v1.0
Quick Yang v1.0Quick Yang v1.0
Quick Yang v1.0
 
Quick Yang v1.0
Quick Yang v1.0Quick Yang v1.0
Quick Yang v1.0
 
NodeSummit - MEAN Stack
NodeSummit - MEAN StackNodeSummit - MEAN Stack
NodeSummit - MEAN Stack
 

More from Michał Gruca

More from Michał Gruca (9)

Byc liderem - BoilingFrogs 18
Byc liderem - BoilingFrogs 18Byc liderem - BoilingFrogs 18
Byc liderem - BoilingFrogs 18
 
Developer career
Developer careerDeveloper career
Developer career
 
Developer career - I've become senior, what's next?
Developer career - I've become senior, what's next?Developer career - I've become senior, what's next?
Developer career - I've become senior, what's next?
 
Kariera developera
Kariera developeraKariera developera
Kariera developera
 
Impostor syndrome - Dlaczego na githubie i blogu mam pusto
Impostor syndrome - Dlaczego na githubie i blogu mam pustoImpostor syndrome - Dlaczego na githubie i blogu mam pusto
Impostor syndrome - Dlaczego na githubie i blogu mam pusto
 
Continous improvement
Continous improvementContinous improvement
Continous improvement
 
Continous improvement
Continous improvementContinous improvement
Continous improvement
 
Where refactoring meets big $$$
Where refactoring meets big $$$Where refactoring meets big $$$
Where refactoring meets big $$$
 
Pozytywistyczny developer - czyli ciągła praca u podstaw
Pozytywistyczny developer - czyli ciągła praca u podstawPozytywistyczny developer - czyli ciągła praca u podstaw
Pozytywistyczny developer - czyli ciągła praca u podstaw
 

Recently uploaded

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 

Recently uploaded (20)

Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 

Nashorn, what is the whole buzz about