Moving to the Client - JavaFX and HTML5


Published on

Presentation given at JavaOne Brazil on HTML5 and JavaFX technology.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Oracle is aggressively investing in the cloud business. Oracle Cloud is a broad set of industry-standards based, integrated services that provide customers with subscription-based access to Oracle Platform Services, Application Services, and Social Services, all completely managed, hosted and supported by Oracle.With predictable subscription pricing, Oracle Cloud delivers instant value and productivity for business users, developers and administrators.Offering a wide range of business applications and platform services, the Oracle Cloud is the only cloud to enable customers to avoid the data and business process fragmentation that occurs when using multiple, siloed public clouds.Oracle Cloud is powered by leading enterprise-grade infrastructure, including Oracle Exadata and Oracle Exalogic, providing customers and partners with a high-performance, reliable, and secure infrastructure for running critical business applications.Oracle Cloud Platform Services portfolio includes Database Service and Java Service and will include Mobile Services, Collaboration Services, Analytics Services and Application Store.Key features of Platform Services includeBuilt on industry standards – SQL, Java, HTML5, WebTransparently run in the cloud – zero application code changesSelf-service control for users – develop, deploy, manageComplete data isolation – in the database, on diskService-Oriented Architecture – on-premise integrationDatabase Service - Runs Oracle Database in the cloudChoice: APEX, SQL, PL/SQL, Java, REST APIsSecure: data, schema, table-space isolationEasy to use: self-service managementJava Service - Runs Oracle WebLogic in the cloudChoice: JDeveloper, Eclipse, NetBeansOpen: runs any Java applicationEasy to use: self-service managementYou can get a 30-Day Free Trial for these services by going to and clicking on “Try It”
  • Moving to the Client - JavaFX and HTML5

    1. 1. Moving to the Client –JavaFX and HTML5Stephen Chin (@steveonjava)1
    2. 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.2
    3. 3. Meet the Presenters Stephen Chin @steveonjava Family Man Motorcyclist3
    4. 4. History of the Web • 1991 HTML • 1994 HTML 2 • 1996 CSS 1 + JavaScript • 1997 HTML 4 • 1998 CSS 2 • 2000 XHTML 1 • 2002 Tableless Web Design • 2005 AJAX • 2009 HTML 54
    5. 5. What is HTML5 • Web Hypertext Application Technology Working Group (WHATWG) • HTML5 ! = HTML + CSS + JavaScript • HTML5 = Next Generation Features for Modern Web Development • Offline Storage, Web SQL Database, IndexedDB, Application Cache, Web Workers, WebSocket, Notifications, Native Drag & Drop, File System, GeoLocation, Speech Input, Form Types, Audio, Video, Canvas, SVG5
    6. 6. HTML5 Rounded Corners • HTML5 No HTML56
    7. 7. HTML5 Canvas 3D (WebGL) •
    8. 8. Prefixes •-webkit-text-fill-color: black; •-webkit-column-count: 2; •Before the Spec is final •Before the Browser implementation is Verified8
    9. 9. Cross Browser •Browsers behave fairly differently •HTML5 Non-Ambiguous Spec •JavaScript Frameworks (jQuery, Dojo, Ember, YUI) give consistent API9
    10. 10. Acid Test • http://acid3.acidtests.org10
    11. 11. jQuery On The Rise  56.87% of Top 10,000 sites use jQuery (
    12. 12. jQuery •
    13. 13. Reaching Older Browsers • Chrome Frame • IE6, IE7, IE8 running Chrome • Modernizer • Feature detection rather than User Agent Sniffing13
    14. 14. Bootstrap14
    15. 15. Responsive UI http://earthhour.fr15
    16. 16. • iPhone UIWebView – Formatting Text Indalo is an iPhone App Kevin Helped Write16
    17. 17. Browser Usage17
    18. 18. JavaFX 2.0 Platform Immersive Application Experience • Cross-platform Animation, Video, Charting • Integrate Java, JavaScript, and HTML5 in the same application • New graphics stack takes advantage of hardware acceleration for 2D and 3D applications • Use your favorite IDE: NetBeans, Eclipse, IntelliJ18
    19. 19. Displaying HTML in JavaFX public class WebViewTest extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) { WebView webView = new WebView(); webView.getEngine().load(""); Scene scene = new Scene(webView); stage.setScene(scene); stage.setTitle("Web Test");; }}19
    20. 20. Displaying HTML in JavaFX20
    21. 21. Calling Javascript from JavaFX engine.executeScript("moveMap(" + lat + ", " + lng + ");");21
    22. 22. Calling JavaFX from Javascript Java: JSObject window = (JSObject) engine.executeScript("window"); window.setMember("recenter", new Recenter()); Javascript: window.recenter.latLng(map.getCenter().lat(), map.getCenter().lng())22
    23. 23. JavaScript to Java Type ConversionJavaScript Javanull nullundefined “undefined”number java.lang.Number (Integer or Double)string java.lang.Stringboolean java.lang.Booleanobject netscape.javascript.JSObject23
    24. 24. Responding to Browser Events  Alert/Confirm/Prompt – Respond to JavaScript user interaction functions • Resize – Web page moves or resizes the window object • Status – Web page changes the status text • Visibility – Hide or show the window object • Popup – Spawn a second web view/engine24
    25. 25. The Java Conference Tour app25
    26. 26. NightHacking Tour nighthacking.com26
    27. 27. Oracle Cloud Platform Services Database Service Java ServiceRuns Oracle Database in the cloud Runs Oracle WebLogic in the cloud For a 30-Day Free trial, go to and click on “Try It” 27
    28. 28. Obrigado! Stephen Chin tweet: @steveonjava28