Java8 launch at AMIS Services / First8

40
Lucas Jellema 18th March 2014 Java 8 Launch Strategic Outlook and Future

description

Lucas Jellema about

Transcript of Java8 launch at AMIS Services / First8

Page 1: Java8 launch at AMIS Services / First8

Lucas Jellema

18th March 2014

Java 8 Launch Strategic Outlook and Future

Page 2: Java8 launch at AMIS Services / First8

2

Page 3: Java8 launch at AMIS Services / First8

4

The Early Days of Java

1991

OAK

Page 4: Java8 launch at AMIS Services / First8

5

Java essentials

• Object Oriented

• Robust

• Multi-Threaded

• Network savvy

• Interpreted and Portable (WORA)

• Architecture neutral (wherever it runs, it runs the same)

Page 5: Java8 launch at AMIS Services / First8

6

2007 – Java’s heyday

Page 6: Java8 launch at AMIS Services / First8

7

2007 Heyday of Java

• JavaOne biggest developer event in the world

• Java both Hot and Cool!

• Java headed for dominance on any device

– Mobile options open

• FX revolution started (=> TV, Blu-Ray, designers)

• Gaming and Virtual Worlds (Wonderland)

• Java to become open source (OpenJDK)

• JAVA was the Nasdaq Stock Symbol for Sun

Page 7: Java8 launch at AMIS Services / First8

8

The sky seemed the limit

Page 8: Java8 launch at AMIS Services / First8

9

Dark clouds were gathering

took forever…

Smartphone and

Tablet revolution –

closed platforms

Android

(Dalvik VM) left

Java fold

New Kids on the Block -

scripting languages,

anything new/hot

How do you make

money with Java tm?

Page 9: Java8 launch at AMIS Services / First8

10

Sun set

Page 10: Java8 launch at AMIS Services / First8

11

Page 11: Java8 launch at AMIS Services / First8

13

The Future in 2009

Page 12: Java8 launch at AMIS Services / First8

14

The Future as it happened and/or looks like today

Page 13: Java8 launch at AMIS Services / First8

15

What happened in recent years?

• JVMs

• JVM languages

• JVM platforms (WOR-oqafp)

• FX

• Java Community

– Vendors

– The rest of us

– Kids

Page 14: Java8 launch at AMIS Services / First8

16

Many JVMs

• Zing

• Zulu

• BEA JRockit

• Sun HotSpot

• Apache Harmony

• IBM J9 VM

• Kaffe

• Jikes RVM

• JamVM

• Excelsior JET

• IcedTea

• OpenJDK

Page 15: Java8 launch at AMIS Services / First8

17

Oracle’s Converged JVM roadmap

• Merge Sun HotSpot & BEA JRockit => Oracle HotSpot JVM

– Use HotSpot as the basis for the future JVM

– Cherry-pick features and port

– Same JVM for everything from embedded all the way up to

enterprise

• Make JRockit tooling available with unified HotSpot JVM

– Mission Control & Flight Recorder (7u40)

Page 16: Java8 launch at AMIS Services / First8

18

JVMs on [m]any platform[s]

Page 17: Java8 launch at AMIS Services / First8

19

Oracle’s platform roadmap

• Target platforms are

– Desktop Client

– Enterprise Server

– Mobile (feature phones) and Embedded devices

• No [plans for] JVM on iOS or other tablets or smart phones

– However: Embedded JVM in iOS and Android Apps

• No Java Applet browser plugin

– [please] No more Applets!

Page 18: Java8 launch at AMIS Services / First8

Java 7 on OS X and Linux/ARM

Ethernet

USB

SD

Card

Audio RCA

Video

General

Purpose I/O

Power

HDMI

Image source: Boston Ltd., UK

Page 19: Java8 launch at AMIS Services / First8

Java 8 Theme: Compact Profiles

Approximate static footprint goals

Compact1 Profile

Compact2 Profile

Compact3 Profile

Full JRE 140Mb

24Mb

17Mb

10Mb

Page 20: Java8 launch at AMIS Services / First8

Java SE 8 Compact Profiles

SE Full JRE

Hotspot VM

Lang & Util Base Libraries

Other Base Libraries

Integration Libraries

UI & Toolkits

Optional Components

Hotspot VM

Base Compact1 Classes

SE 8 Compact Profiles

Compact2 Class libraries

Compact3 Class libraries

1

2

3

Page 21: Java8 launch at AMIS Services / First8

23

Use cases for Compact Profiles

• Kiosk

• Hand held device

• Home Gateway

• Electronic Tollbooth

• Oracle Mobile Application Framework

– Generic app for iOS & Android with embedded JVM for

deploying custom Java/Apache Cordova apps

• App Store deployment of Java Client applications

– Windows 8, Apple OSX

Page 22: Java8 launch at AMIS Services / First8

Java ME 8 Focus

Platform

Footprint

Device

CPU/

GPU/I-O ARM 7 Cortex M ARM9/11 MIPS32 - ARM Cortex A – PPC - Intel Atom

50KB-1MB

1MB-10MB

10MB-100MB Java ME

Java SE

Java

Card

Page 23: Java8 launch at AMIS Services / First8

Java SE 8

• Description - CLDC 8 is an long-anticipated, evolutionary update for CLDC 1.1.1 to bring

the VM, Java language and core API libraries in alignment with Java SE 8

• Key Features - Synchronize Java SE 8 language features into Java ME

- CLDC 8 is an extended strict subset of Java SE 8

- Introduce developer-friendly Java SE APIs

- Includes updated Generic Connection Framework (GCF) 8

- Virtual Machine update to align with Java SE developer tools

- Remain small and enable footprint optimizations

- Backward binary compatible

- Enable 9+ Million Java developers to develop for Java Embedded

CLDC 8 High-Level Overview

CLDC 8

Bringing The World of Java SE to Java ME

Page 24: Java8 launch at AMIS Services / First8

28

Many “JVM” languages

Java

Clojure

Groovy

Java

Script

Scala JRuby

Jython

Page 25: Java8 launch at AMIS Services / First8

29

Languages that can run on the JVM

Page 26: Java8 launch at AMIS Services / First8

30

Java 8 ‘theme’: Interoperability on JVM or The Polyglot JVM

• Easier interoperability between Java and other JVM languages

• Project Nashorn: very fast JavaScript engine embedded in JVM

– Available from Java code to execute JavaScript

– Allows JavaScript to invoke Java as well

– “Oracle is in the process of developing node.jar, a java implementation of node.js to

also run on the JVM via Nashorn”

Page 27: Java8 launch at AMIS Services / First8

31

Story of FX

• Started as F3 by Chris Oliver

• Announced at JavaOne 2007

– And every JavaOne since

• Java FX Script 1.0 December 2008

• 2.0 release October 2011

– (no more FX Script)

• FX 8 – March 2014

– Included in OpenJDK

– To replace Swing

– On desktop & embedded

Page 28: Java8 launch at AMIS Services / First8

32

Popularity of Java

Java 6 Java 7 Java 8 Java 5 Java 1.4

Page 29: Java8 launch at AMIS Services / First8

33

Page 30: Java8 launch at AMIS Services / First8

34

228 JUGs around the world

10 Million Java Developers - worldwide

Page 31: Java8 launch at AMIS Services / First8

35

Kids Java Programming

Page 32: Java8 launch at AMIS Services / First8

36

Kids Java Programming

Page 33: Java8 launch at AMIS Services / First8

37

The Launch of Java 8 SE, FX, ME, JDK & JVM

Page 34: Java8 launch at AMIS Services / First8

38

Java 8

• Java 8 - Statements/directions/themes

– Converged JVM

– JavaFX merged into JDK (deprecate Swing)

– Abandon Java Applets

– Java Client: desktop, embedded (ARM devices); touch screen support (Windows 8)

– Bring SE [Embedded] and ME closer together (CLDC 8 and profiles)

– Interoperability between JVM languages (Nashorn)

• Language Innovation

– Lambda (“closures”) ,

– Collections with Streams API

– Concurrency

– …

Page 35: Java8 launch at AMIS Services / First8

Java SE - recent timeline

2015 2013 2014 2016

JDK 8 (Q1 2014) •Lambda

•JVM Convergence

•JavaScript Interop

•JavaFX 8

•3D API

•Java SE Embedded

support

•Enhanced HTML5 support

7u40 • Java Flight Recorder

• Java Mission Control 5.2

• Java Discovery Protocol

• Native memory tracking

• Local Security Policy

NetBeans IDE 7.3 • New hints and refactoring

• Scene Builder Support

NetBeans IDE 8 •JDK 8 support

•Scene Builder 2.0 support

Scene Builder 2.0 •JavaFX 8 support

•Enhanced Java IDE support

7u21

• Java Client Security Enhancements

• App Store Packaging tools

Scene Builder 1.1 • Linux support

Page 36: Java8 launch at AMIS Services / First8

40

The Future as it happened and/or looks like today

Page 37: Java8 launch at AMIS Services / First8

41

Beyond Java 8

• Installer/Embedded JVM

• Further language evolution

• JigSaw (Modularity)

• Java on GPU (Graphics Processing Units)

• Cloud

• Interoperability

• No backward compatibility beyond three versions for source & target (7,8,9 – no more Java 5,6)

– Note: Java 8 does not accept

Java 1.4 as a target

Page 38: Java8 launch at AMIS Services / First8

Java SE/ME/FX Roadmap

2015 2013 2014 2016

JDK 8 (Q1 2014) •Lambda

•JVM Convergence

•JavaScript Interop

•JavaFX 8

•3D API

•Java SE Embedded

support

•Enhanced HTML5 support

7u40 • Java Flight Recorder

• Java Mission Control 5.2

• Java Discovery Protocol

• Native memory tracking

• Local Security Policy

JDK 9 •Modularity – Jigsaw

• Interoperability

•Cloud

•Ease of Use

•JavaFX JSR

•Optimizations

NetBeans IDE 7.3 • New hints and refactoring

• Scene Builder Support

NetBeans IDE 8 • JDK 8 support

• Scene Builder 2.0 support

Scene Builder 2.0 • JavaFX 8 support

• Enhanced Java IDE support

NetBeans IDE 9 • JDK 9 support

• Scene Builder 3.0 support

Scene Builder 3.0 • JavaFX 9 support

7u21

• Java Client Security Enhancements

• App Store Packaging tools

JDK 8u20 • Deterministic G1

• Java Mission Control 6.0

• Improved JRE installer

• App bundling

enhancements

JDK 8u40

Scene Builder 1.1 • Linux support

Page 39: Java8 launch at AMIS Services / First8

43

Java 8 – Deep Dive

Page 40: Java8 launch at AMIS Services / First8