SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Moving to the Client - JavaFX and HTML5 Stephen Chin Chief Agile Methodologist, GXS steveonjava@gmail.com tweet: @steveonjava Kevin Nilson Principle Architect, E*Trade kevin_nilson@dev.java.net tweet: @javaclimber
About the Presenters Stephen Chin Kevin Nilson Java Champion Java Champion Chief Agile Methodologist, GXS Author Web 2.0 Fundamentals Author, Pro JavaFX Platform User Groups Leader Silicon Valley Web JUG Silicon Valley JS Meetup Silicon Valley Google Technology UG
History of the Web 1991 HTML 1994 HTML 2 1996 CSS 1 + JavaScript 1997 HTML 4 1998 CSS 2 2000 XHTML 1 2002Tableless Web Design 2005AJAX 2009HTML 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, SVG
HTML5 Rounded Corners http://slides.html5rocks.com/#rounded-corners HTML5 No HTML5
HTML5 Canvas 3D (WebGL) http://slides.html5rocks.com/#canvas-3d
Prefixes -webkit-text-fill-color: black; -webkit-column-count: 2; Before the Spec is final Before the Browser implementation is Verified
Cross Browser Browsers behave fairly differently HTML5 Non-Ambiguous Spec JavaScript Frameworks (jQuery, Dojo, YUI) give consistent API
jQuery On The Rise 44% of Top 10,000 sites use jQuery (builtwith.com)
JavaOne Live Tiobe with jQuery Plugin http://javaclimber.com/livetiobe.html $('.all').quicksand( $('.warmli'), { duration: 3000, attribute: 'id', easing: 'easeInOutQuad’  });
Acid Test http://acid3.acidtests.org/
Reaching Older Browsers Chrome Frame IE6, IE7, IE8 running Chrome Modernizer
JavaFX and the Java Platform  Java Language Java EE HotSpot Java VM Lightweight Java VM Java SE Java ME Java Card Java FX MSA Java TV APIs Copyright 2010 Oracle
JavaFX 2.0 Platform Immersive Desktop Experience Combining the Best of JavaFX and HTML5 Leverage your Java skills with modern JavaFX APIs Integrate Java, JavaScript, and HTML5 in the same application New graphics stack takes advantage of hardware acceleration for 2D and 3D applications User your favorite IDE: NetBeans, Eclipse, IntelliJ, etc.
iPhone UIWebView Formatting Text Indalo is an iPhone App Kevin Helped Write
Titanium Write JavaScript, but Renders Native Application Many “Native” widgets are UIWebView E*Trade API Contest App Kevin Wrote
Displaying HTML in JavaFX public class Main extends Application {     public static void main(String[] args) { Launcher.launch(Main.class, args); }     @Override public void start(Stage stage) { WebEngineeng = new WebEngine("http://google.com"); WebViewwebView = new WebView(eng);         Scene scene = new Scene(webView); stage.setScene(scene); stage.setTitle("Web Test"); stage.setVisible(true); }} 18
Displaying HTML in JavaFX 19
Calling Javascript from JavaFX String script = "alert('We've got a message, Houston!');”; eng.executeScript(script); 20
Responding to Browser Events Supported Events: Show: Alert, Confirm, Prompt Window: Create, Show, Close, Resize Fixed/Resizable Frame Show/Hide: Menubar, Scrollbars, Statusbar, Toolbar Print 21
HTML5/JavaFX Integration Demo 22
JavaFX 2.0 Product Timeline CYQ1 2011 CYQ3 2011 CYQ2 2011 JavaFX 2.0 EA (Early Access) JavaFX 2.0 Beta JavaFX 2.0 GA (General Availability) Copyright 2010 Oracle JavaFX Beta in Late May!
Pro JavaFX 2 Platform Coming Soon! Coming 2nd half of this year All examples rewritten in Java Will cover the new JavaFX 2.0 APIs India edition will be available 24
25 Stephen Chin steveonjava@gmail.com tweet: @steveonjava Kevin Nilson kevin_nilson@dev.java.net tweet: @javaclimber

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
Your Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web ComponentsYour Future HTML: The Evolution of Site Design with Web Components
Your Future HTML: The Evolution of Site Design with Web Components
 
React JS
React JSReact JS
React JS
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadin
 
Java Technology Trends
Java Technology TrendsJava Technology Trends
Java Technology Trends
 
Vaadin & Web Components
Vaadin & Web ComponentsVaadin & Web Components
Vaadin & Web Components
 
5 best Java Frameworks
5 best Java Frameworks5 best Java Frameworks
5 best Java Frameworks
 
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
Conquer Architectural Challenges with End-to-End JavaScript - enterJS 2014
 
Grails At Linked
Grails At LinkedGrails At Linked
Grails At Linked
 
Tech Talk on ReactJS
Tech Talk on ReactJSTech Talk on ReactJS
Tech Talk on ReactJS
 
Make your animations perform well - Anna Migas - Codemotion Rome 2017
Make your animations perform well - Anna Migas - Codemotion Rome 2017Make your animations perform well - Anna Migas - Codemotion Rome 2017
Make your animations perform well - Anna Migas - Codemotion Rome 2017
 
Frameworks in java
Frameworks in javaFrameworks in java
Frameworks in java
 
Microservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloudMicroservices - java ee vs spring boot and spring cloud
Microservices - java ee vs spring boot and spring cloud
 
Reactjs Introduction - Virtual DOM
Reactjs Introduction - Virtual DOMReactjs Introduction - Virtual DOM
Reactjs Introduction - Virtual DOM
 
Grails patterns and practices
Grails patterns and practicesGrails patterns and practices
Grails patterns and practices
 
Angular 4 Tutorial | What's New In Angular 4 | Angular Training | Edureka
Angular 4 Tutorial | What's New In Angular 4 | Angular Training | EdurekaAngular 4 Tutorial | What's New In Angular 4 | Angular Training | Edureka
Angular 4 Tutorial | What's New In Angular 4 | Angular Training | Edureka
 
Vue micro frontend implementation patterns
Vue micro frontend implementation patternsVue micro frontend implementation patterns
Vue micro frontend implementation patterns
 
ReactJS or Angular
ReactJS or AngularReactJS or Angular
ReactJS or Angular
 
React vs angular
React vs angularReact vs angular
React vs angular
 
Developing dynamic ui using react
Developing dynamic ui using reactDeveloping dynamic ui using react
Developing dynamic ui using react
 

Ähnlich wie Moving to the Client - JavaFX and HTML5

Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Quek Lilian
 
SnapyX
SnapyXSnapyX
SnapyX
ekino
 
내꺼내꺼
내꺼내꺼내꺼내꺼
내꺼내꺼
misty915
 
JONATHAN RYAN V - DETAILED
JONATHAN RYAN V - DETAILEDJONATHAN RYAN V - DETAILED
JONATHAN RYAN V - DETAILED
Jonathan Ramos
 
Building Rich Internet Applications Using Google Web Toolkit
Building Rich Internet Applications Using  Google Web ToolkitBuilding Rich Internet Applications Using  Google Web Toolkit
Building Rich Internet Applications Using Google Web Toolkit
rajivmordani
 

Ähnlich wie Moving to the Client - JavaFX and HTML5 (20)

Introduction to JavaFx and HTML5
Introduction to JavaFx and HTML5Introduction to JavaFx and HTML5
Introduction to JavaFx and HTML5
 
Android App Development using HTML5 Technology
Android App Development using HTML5 TechnologyAndroid App Development using HTML5 Technology
Android App Development using HTML5 Technology
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
 
Jake_Park_resume
Jake_Park_resumeJake_Park_resume
Jake_Park_resume
 
Resume
ResumeResume
Resume
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
 
SnapyX
SnapyXSnapyX
SnapyX
 
SnapyX - ParisJS
SnapyX - ParisJSSnapyX - ParisJS
SnapyX - ParisJS
 
내꺼내꺼
내꺼내꺼내꺼내꺼
내꺼내꺼
 
GWT training session 1
GWT training session 1GWT training session 1
GWT training session 1
 
Resume-Daniel Bongard
Resume-Daniel BongardResume-Daniel Bongard
Resume-Daniel Bongard
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
JONATHAN RYAN V - DETAILED
JONATHAN RYAN V - DETAILEDJONATHAN RYAN V - DETAILED
JONATHAN RYAN V - DETAILED
 
JavaOne 2010 Keynote
JavaOne 2010 Keynote JavaOne 2010 Keynote
JavaOne 2010 Keynote
 
Building Rich Internet Applications Using Google Web Toolkit
Building Rich Internet Applications Using  Google Web ToolkitBuilding Rich Internet Applications Using  Google Web Toolkit
Building Rich Internet Applications Using Google Web Toolkit
 
Developing ASP.NET MVC Applications Quicker With Kendo UI
Developing ASP.NET MVC Applications Quicker With Kendo UIDeveloping ASP.NET MVC Applications Quicker With Kendo UI
Developing ASP.NET MVC Applications Quicker With Kendo UI
 
Resume
ResumeResume
Resume
 

Mehr von Stephen Chin

Mehr von Stephen Chin (20)

DevOps Tools for Java Developers v2
DevOps Tools for Java Developers v2DevOps Tools for Java Developers v2
DevOps Tools for Java Developers v2
 
10 Ways Everyone Can Support the Java Community
10 Ways Everyone Can Support the Java Community10 Ways Everyone Can Support the Java Community
10 Ways Everyone Can Support the Java Community
 
Java Clients and JavaFX: The Definitive Guide
Java Clients and JavaFX: The Definitive GuideJava Clients and JavaFX: The Definitive Guide
Java Clients and JavaFX: The Definitive Guide
 
DevOps Tools for Java Developers
DevOps Tools for Java DevelopersDevOps Tools for Java Developers
DevOps Tools for Java Developers
 
Java Clients and JavaFX - Presented to LJC
Java Clients and JavaFX - Presented to LJCJava Clients and JavaFX - Presented to LJC
Java Clients and JavaFX - Presented to LJC
 
RetroPi Handheld Raspberry Pi Gaming Console
RetroPi Handheld Raspberry Pi Gaming ConsoleRetroPi Handheld Raspberry Pi Gaming Console
RetroPi Handheld Raspberry Pi Gaming Console
 
Confessions of a Former Agile Methodologist (JFrog Edition)
Confessions of a Former Agile Methodologist (JFrog Edition)Confessions of a Former Agile Methodologist (JFrog Edition)
Confessions of a Former Agile Methodologist (JFrog Edition)
 
Devoxx4Kids Lego Workshop
Devoxx4Kids Lego WorkshopDevoxx4Kids Lego Workshop
Devoxx4Kids Lego Workshop
 
Raspberry Pi with Java (JJUG)
Raspberry Pi with Java (JJUG)Raspberry Pi with Java (JJUG)
Raspberry Pi with Java (JJUG)
 
Confessions of a Former Agile Methodologist
Confessions of a Former Agile MethodologistConfessions of a Former Agile Methodologist
Confessions of a Former Agile Methodologist
 
Internet of Things Magic Show
Internet of Things Magic ShowInternet of Things Magic Show
Internet of Things Magic Show
 
Zombie Time - JSR 310 for the Undead
Zombie Time - JSR 310 for the UndeadZombie Time - JSR 310 for the Undead
Zombie Time - JSR 310 for the Undead
 
JCrete Embedded Java Workshop
JCrete Embedded Java WorkshopJCrete Embedded Java Workshop
JCrete Embedded Java Workshop
 
Oracle IoT Kids Workshop
Oracle IoT Kids WorkshopOracle IoT Kids Workshop
Oracle IoT Kids Workshop
 
OpenJFX on Android and Devices
OpenJFX on Android and DevicesOpenJFX on Android and Devices
OpenJFX on Android and Devices
 
Java on Raspberry Pi Lab
Java on Raspberry Pi LabJava on Raspberry Pi Lab
Java on Raspberry Pi Lab
 
Java 8 for Tablets, Pis, and Legos
Java 8 for Tablets, Pis, and LegosJava 8 for Tablets, Pis, and Legos
Java 8 for Tablets, Pis, and Legos
 
DukeScript
DukeScriptDukeScript
DukeScript
 
Devoxx4Kids NAO Workshop
Devoxx4Kids NAO WorkshopDevoxx4Kids NAO Workshop
Devoxx4Kids NAO Workshop
 
Raspberry Pi Gaming 4 Kids (Devoxx4Kids)
Raspberry Pi Gaming 4 Kids (Devoxx4Kids)Raspberry Pi Gaming 4 Kids (Devoxx4Kids)
Raspberry Pi Gaming 4 Kids (Devoxx4Kids)
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Moving to the Client - JavaFX and HTML5

  • 1. Moving to the Client - JavaFX and HTML5 Stephen Chin Chief Agile Methodologist, GXS steveonjava@gmail.com tweet: @steveonjava Kevin Nilson Principle Architect, E*Trade kevin_nilson@dev.java.net tweet: @javaclimber
  • 2. About the Presenters Stephen Chin Kevin Nilson Java Champion Java Champion Chief Agile Methodologist, GXS Author Web 2.0 Fundamentals Author, Pro JavaFX Platform User Groups Leader Silicon Valley Web JUG Silicon Valley JS Meetup Silicon Valley Google Technology UG
  • 3.
  • 4. History of the Web 1991 HTML 1994 HTML 2 1996 CSS 1 + JavaScript 1997 HTML 4 1998 CSS 2 2000 XHTML 1 2002Tableless Web Design 2005AJAX 2009HTML 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, SVG
  • 6. HTML5 Rounded Corners http://slides.html5rocks.com/#rounded-corners HTML5 No HTML5
  • 7. HTML5 Canvas 3D (WebGL) http://slides.html5rocks.com/#canvas-3d
  • 8. Prefixes -webkit-text-fill-color: black; -webkit-column-count: 2; Before the Spec is final Before the Browser implementation is Verified
  • 9. Cross Browser Browsers behave fairly differently HTML5 Non-Ambiguous Spec JavaScript Frameworks (jQuery, Dojo, YUI) give consistent API
  • 10. jQuery On The Rise 44% of Top 10,000 sites use jQuery (builtwith.com)
  • 11. JavaOne Live Tiobe with jQuery Plugin http://javaclimber.com/livetiobe.html $('.all').quicksand( $('.warmli'), { duration: 3000, attribute: 'id', easing: 'easeInOutQuad’ });
  • 13. Reaching Older Browsers Chrome Frame IE6, IE7, IE8 running Chrome Modernizer
  • 14. JavaFX and the Java Platform Java Language Java EE HotSpot Java VM Lightweight Java VM Java SE Java ME Java Card Java FX MSA Java TV APIs Copyright 2010 Oracle
  • 15. JavaFX 2.0 Platform Immersive Desktop Experience Combining the Best of JavaFX and HTML5 Leverage your Java skills with modern JavaFX APIs Integrate Java, JavaScript, and HTML5 in the same application New graphics stack takes advantage of hardware acceleration for 2D and 3D applications User your favorite IDE: NetBeans, Eclipse, IntelliJ, etc.
  • 16. iPhone UIWebView Formatting Text Indalo is an iPhone App Kevin Helped Write
  • 17. Titanium Write JavaScript, but Renders Native Application Many “Native” widgets are UIWebView E*Trade API Contest App Kevin Wrote
  • 18. Displaying HTML in JavaFX public class Main extends Application { public static void main(String[] args) { Launcher.launch(Main.class, args); } @Override public void start(Stage stage) { WebEngineeng = new WebEngine("http://google.com"); WebViewwebView = new WebView(eng); Scene scene = new Scene(webView); stage.setScene(scene); stage.setTitle("Web Test"); stage.setVisible(true); }} 18
  • 19. Displaying HTML in JavaFX 19
  • 20. Calling Javascript from JavaFX String script = "alert('We've got a message, Houston!');”; eng.executeScript(script); 20
  • 21. Responding to Browser Events Supported Events: Show: Alert, Confirm, Prompt Window: Create, Show, Close, Resize Fixed/Resizable Frame Show/Hide: Menubar, Scrollbars, Statusbar, Toolbar Print 21
  • 23. JavaFX 2.0 Product Timeline CYQ1 2011 CYQ3 2011 CYQ2 2011 JavaFX 2.0 EA (Early Access) JavaFX 2.0 Beta JavaFX 2.0 GA (General Availability) Copyright 2010 Oracle JavaFX Beta in Late May!
  • 24. Pro JavaFX 2 Platform Coming Soon! Coming 2nd half of this year All examples rewritten in Java Will cover the new JavaFX 2.0 APIs India edition will be available 24
  • 25. 25 Stephen Chin steveonjava@gmail.com tweet: @steveonjava Kevin Nilson kevin_nilson@dev.java.net tweet: @javaclimber