Java8 launch at AMIS Services / First8

407 views

Published on

Lucas Jellema about

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
407
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java8 launch at AMIS Services / First8

  1. 1. Lucas Jellema 18th March 2014 Java 8 Launch Strategic Outlook and Future
  2. 2. 2
  3. 3. 4 The Early Days of Java 1991 OAK
  4. 4. 5 Java essentials • Object Oriented • Robust • Multi-Threaded • Network savvy • Interpreted and Portable (WORA) • Architecture neutral (wherever it runs, it runs the same)
  5. 5. 6 2007 – Java’s heyday
  6. 6. 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
  7. 7. 8 The sky seemed the limit
  8. 8. 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?
  9. 9. 10 Sun set
  10. 10. 11
  11. 11. 13 The Future in 2009
  12. 12. 14 The Future as it happened and/or looks like today
  13. 13. 15 What happened in recent years? • JVMs • JVM languages • JVM platforms (WOR-oqafp) • FX • Java Community – Vendors – The rest of us – Kids
  14. 14. 16 Many JVMs • Zing • Zulu • BEA JRockit • Sun HotSpot • Apache Harmony • IBM J9 VM • Kaffe • Jikes RVM • JamVM • Excelsior JET • IcedTea • OpenJDK
  15. 15. 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)
  16. 16. 18 JVMs on [m]any platform[s]
  17. 17. 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!
  18. 18. 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
  19. 19. Java 8 Theme: Compact Profiles Approximate static footprint goals Compact1 Profile Compact2 Profile Compact3 Profile Full JRE 140Mb 24Mb 17Mb 10Mb
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 28 Many “JVM” languages Java Clojure Groovy Java Script Scala JRuby Jython
  25. 25. 29 Languages that can run on the JVM
  26. 26. 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”
  27. 27. 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
  28. 28. 32 Popularity of Java Java 6 Java 7 Java 8Java 5Java 1.4
  29. 29. 33
  30. 30. 34 228 JUGs around the world 10 Million Java Developers - worldwide
  31. 31. 35 Kids Java Programming
  32. 32. 36 Kids Java Programming
  33. 33. 37 The Launch of Java 8 SE, FX, ME, JDK & JVM
  34. 34. 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 – …
  35. 35. Java SE - recent timeline 20152013 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
  36. 36. 40 The Future as it happened and/or looks like today
  37. 37. 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
  38. 38. Java SE/ME/FX Roadmap 20152014 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 IDE 7.3 d refactoring r 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 ecurity Enhancements ckaging tools JDK 8u20 • Deterministic G1 • Java Mission Control 6.0 • Improved JRE installer • App bundling enhancements JDK 8u40 Scene Builder 1.1 • Linux support
  39. 39. 43 Java 8 – Deep Dive

×