SlideShare a Scribd company logo
1 of 84
Download to read offline
JavaFX Script
 From Takeoff to Cruising Altitude...



                    Matthew J. McCullough
                     Ambient Ideas, LLC
Deployments
A quick review of terms
JavaFX Script
JavaFX Script




                JavaFX Mobile
JavaFX Mobile


•Complete Mobile Phone Stack
•Think “Google Android”
JavaFX Script

• Formerly known as F3
•A new Java-like scripting language
     specifically for RIAs
• Think Silverlight, Flex, or AIR
“   The write once, run anywhere portability of
    Java technology has helped make it the world's
    most widely deployed application platform.
    Now, Sun is introducing JavaFX Script, a highly
    productive scripting language that enables
    content developers to leverage the enormous
    popularity of Java to create rich applications
    and services for deployment on the widest
    range of platforms - from mobile devices to set-
    top boxes and Blu-ray Discs to desktops.

                                                 ”
Hello RIA World
  Code Demo
Competing with
other Runtimes
*Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                        *AIR to support Linux at a later date
Product                     Browser                             Desktop                           Platforms




          *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                                  *AIR to support Linux at a later date
Product                     Browser                             Desktop                           Platforms

 Ajax                                                                                                3*
                                     ✔




          *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                                  *AIR to support Linux at a later date
Product                       Browser                             Desktop                           Platforms

   Ajax                                                                                                  3*
                                         ✔

Adobe Flash                                                                                              4
                                         ✔




              *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                                      *AIR to support Linux at a later date
Product                       Browser                             Desktop                           Platforms

   Ajax                                                                                                  3*
                                         ✔

Adobe Flash                                                                                              4
                                         ✔

Adobe Flex                                                                                               4
                                         ✔




              *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                                      *AIR to support Linux at a later date
Product                       Browser                             Desktop                           Platforms

   Ajax                                                                                                  3*
                                         ✔

Adobe Flash                                                                                              4
                                         ✔

Adobe Flex                                                                                               4
                                         ✔

Adobe AIR                                                                                                2*
                                                                             ✔




              *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                                      *AIR to support Linux at a later date
Product                      Browser                             Desktop                           Platforms

        Ajax                                                                                                3*
                                            ✔

   Adobe Flash                                                                                              4
                                            ✔

    Adobe Flex                                                                                              4
                                            ✔

    Adobe AIR                                                                                               2*
                                                                                ✔

Microsoft Silverlight                                                                                       2
                                            ✔



                 *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                                         *AIR to support Linux at a later date
Product                      Browser                             Desktop                           Platforms

        Ajax                                                                                                3*
                                            ✔

   Adobe Flash                                                                                              4
                                            ✔

    Adobe Flex                                                                                              4
                                            ✔

    Adobe AIR                                                                                               2*
                                                                                ✔

Microsoft Silverlight                                                                                       2
                                            ✔

Sun JavaFX Script                                                                                           4+
                                            ✔                                   ✔

                 *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer
                                         *AIR to support Linux at a later date
Applets are Back
       &
WebStart is Hot
JavaFX Interest Poll




                                                  JavaFWhat?
                                                  Not At All
                                                  Not Very
                                                  Somewhat
      Source: Java.net JavaFX Poll, August 2007

                                                  Very
JavaFX Interest Poll



70%                                               JavaFWhat?
                                                  Not At All
                                                  Not Very
                                                  Somewhat
      Source: Java.net JavaFX Poll, August 2007

                                                  Very
Source: TIOBE Programming Community Index for December 2007
Source: TIOBE Programming Community Index for December 2007
Mouse Events
Code Demo
Just Show Me
Something Cool
Music Pinboard
    Demo
Consumer JRE Size

   •Current JRE download is 12MB
   •Reduced Footprint
       through Java SE 6 Update N
   •Goal of 2MB
Consumer JRE Size




     Idea Source: Danny Coward, JAZOON 07, Zurich
Consumer JRE Micro Bundles


•Back-to-Basics JRE
•Starts with hello world support
•Downloads additional parts as needed
              Source: Java SE 6 Update N Early Access Program & Jim Weaver’s JavaFX Blog
Consumer JRE Performance

•Quick Starter for cold starts
 •Prefetches portions of JRE into memory
•Graphics rendering hardware acceleration

                Source: Java SE 6 Update N Early Access Program
The Language
Interpreted vs. Compiled
Interpreted

‣ Starting point for language
‣ Proof of Concept only
‣ In process of deprecation
‣ But has current IDE Support
Compiled
‣ Official language tool, javafxc
‣ Built on top of javac
‣ Open Source
‣ Work In Progress, but very usable
Bind Operator
‣   Automatic binding of form element to
    data model

‣   Core JDK has no equivalent

‣ Libraries such as Swinglabs only
    partially accomplish this for Swing

‣   Built on Beans Binding JSR 295 library
Bean Binding
 Code Demo
Threads
‣ DO, DOLATER currently in interpreter
Threads


“(Working on SwingWorker
wrapper in compiler) so it is as easy
(possibly easier) to use as AJAX's
XMLHttpRequest”
                            -Tom Ball
The Compatibilty Secret


‣ Swing based rendering on PC devices

‣ Other rendering engine for smaller
  devices such as Blu-Ray
SceneGraph
                                           Effect

‣   Objectifying nodes                Composite
                                        Node



‣ Binding nodes together
‣ Adding behavior to          TextField              Box



    composite nodes
‣                                          Radial
    Standalone Java library                                SimpleLabel
                                          Gradient
JavaFX 2D Tutorial
    Code Demo
Animation
‣ Interpreted:
  picks.opacity = [0, .01..1] dur 1000 linear

‣ Compiled:
  Key frames, timeline
Animation




As many as 500 lines of Swing code
             equivalent to 10 of JavaFX
Keyframe Animation


‣ Next step in JavaFX animation

‣ Advanced capabilities

‣ Currently in compiler in rough state
Bounce
Code Demo
Guitar
Code Demo
JavaFX 2D Tutorial
    Code Demo
Java3D’s Successor

“
    Specifically, we are working on a
    new 3D scene graph, as part of the
    JavaFX player, that will complement
    the 2D Scenario scene graph. Its
    initial focus will be 3D effects,
    casual games, and simple 3D

                                                                     ”
    viewing applications...
             Source: http://forums.java.net/jive/thread.jspa?threadID=36022&tstart=0
Mix & Match
The Perfect Blend

•Leverages all existing Java libraries
•Retro-capable back to JRE 1.5
•Browser, Desktop, and Phone
•Groovy, JRuby, Scala, Jaskell, Jython
Mix & Match Groovy
    Code Demo
IDEs

‣ NetBeans
‣ Eclipse
‣ IntelliJ
‣ ReportMill
NetBeans JavaFX Plugin
Previewing Results


‣ Live preview of code changes
‣ No compile cycle delay for testing
‣ But uses Interpreter...
NetBeans Demo
ReportMill JFXBuilder


•Most advanced demos
•Representative of future tools from Sun
ReportMill
Path Animation Demo
Designers vs. Coders
“
Sun’s JavaFX Tools are
turning the workflow sideways
                                                                                ”
                                                  James Gosling

         Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
“   Our architecture is more like the coder
    does this part and the artist does this
    part, and then the artist can do the
    plugging in [of the design] themselves.
    They can update the artwork and the
    [developer] guy can update the code,
    and they are talking to the tool together.

                                                                                       ”
    It's not conditional on the other.
                                                                                  James Gosling
                Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
Sun Microsystems is working on interoperability between
    design tools from Adobe Systems and its upcoming JavaFX
    tools for application developers building rich application
    interfaces and rich-internet applications (RIAs).

    James Gosling, Sun vice president and fellow, told Register
    Developer that Sun is working to ensure interoperability -
    rather than provide its own design tools.



“
    We are putting a lot of effort into interoperability with the
    Adobe tools - a lot of the Adobe tools are wired into the
    neurons of the artists of the world. We are not trying to be a


                                                                                                           ”
    completely isolated island that has all the tools for everybody.

                                                                                               James Gosling
                        Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
Q&A
Q&A

Email questions to:
MatthewM@AmbientIdeas.com

Slides & Source Code at:
www.AmbientIdeas.com/engineering/engineering-training.html
Resources
•James Weaver’s JavaFX Blog
  http://learnjavafx.typepad.com


•Sun JavaFX Script Homepage
  http://www.sun.com/software/javafx/script/index.jsp


•ReportMill JFXBuilder
  http://www.reportmill.com/jfx/


•Planet JFX
  http://jfx.wikia.com/wiki/Main_Page
Resources
•JavaFX Language Reference, Nightly Build
  http://openjfx.java.sun.com/current-build/doc/JavaFX-Language.html


•Project SceneGraph
  https://scenegraph.dev.java.net/


•Comparing Flex and Ajax Dev Models
  http://www.adobe.com/newsletters/edge/february2008/articles/article4/


•Swinging in Groovy
  http://groovy.dzone.com/tips/swinging-groovy-fun
Quotes

•Rich Green @ Java One San Fran
 •“Meant for building Rich Internet
    Applications (RIAs)”

 •“For content professionals”
 •“All based on Swing and Java 2D”
Quotes
• Danny Coward, JAZOON 07, Zurich
  • Visual Tools, Visual Developers
    • Only occasionally dropping down to script level coding
  • Meant for animated, simple, client apps that are highly
     branded


  • Not used much by technical java developers
Quotes


•Chris Oliver, creator of JavaFX Script
  • Created Motorola equivalent site in 3 days

More Related Content

What's hot

Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsRomin Irani
 
01 asp.net session01
01 asp.net session0101 asp.net session01
01 asp.net session01Niit Care
 
13 asp.net session19
13 asp.net session1913 asp.net session19
13 asp.net session19Niit Care
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)TIMETOACT GROUP
 

What's hot (6)

Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
Entando datasheet
Entando datasheetEntando datasheet
Entando datasheet
 
01 asp.net session01
01 asp.net session0101 asp.net session01
01 asp.net session01
 
13 asp.net session19
13 asp.net session1913 asp.net session19
13 asp.net session19
 
Flex and Java
Flex and JavaFlex and Java
Flex and Java
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 

Similar to Java FX Script - From Takeoff To Cruising Altitude

The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash PlatformPeter Elst
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXJoseph Labrecque
 
Максим Ткаченко "Flash platform: Tools, Frameworks, Clients"
Максим Ткаченко "Flash platform: Tools, Frameworks, Clients"Максим Ткаченко "Flash platform: Tools, Frameworks, Clients"
Максим Ткаченко "Flash platform: Tools, Frameworks, Clients"Lviv Startup Club
 
Mozilla egypt community fire fox os workshop session 2
Mozilla egypt community fire fox os workshop   session 2Mozilla egypt community fire fox os workshop   session 2
Mozilla egypt community fire fox os workshop session 2mozillaegypt
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen developmenteaselsolutions
 
Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR SeminarYoss Cohen
 
Flash/ActionScript
Flash/ActionScriptFlash/ActionScript
Flash/ActionScriptguestc0b52c5
 
What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2Joseph Labrecque
 
Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introductionatomlin
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overviewSubin Sugunan
 
Adobe Flex: Creating Widgets for the Desktop and Web
Adobe Flex: Creating Widgets for the Desktop and WebAdobe Flex: Creating Widgets for the Desktop and Web
Adobe Flex: Creating Widgets for the Desktop and WebColin Loretz
 
Flex Air Intro
Flex Air IntroFlex Air Intro
Flex Air IntroJUG Genova
 
Adobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and MobileAdobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and MobilePasi Manninen
 
Flex Introduction
Flex Introduction Flex Introduction
Flex Introduction senthil0809
 
Making Money with Adobe AIR
Making Money with Adobe AIRMaking Money with Adobe AIR
Making Money with Adobe AIRAlmog Koren
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnifmbaye camara
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web DevelopmentAndy Peters
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: OverviewTarun Telang
 

Similar to Java FX Script - From Takeoff To Cruising Altitude (20)

The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash Platform
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEX
 
Adobe flex
Adobe flexAdobe flex
Adobe flex
 
Максим Ткаченко "Flash platform: Tools, Frameworks, Clients"
Максим Ткаченко "Flash platform: Tools, Frameworks, Clients"Максим Ткаченко "Flash platform: Tools, Frameworks, Clients"
Максим Ткаченко "Flash platform: Tools, Frameworks, Clients"
 
Mozilla egypt community fire fox os workshop session 2
Mozilla egypt community fire fox os workshop   session 2Mozilla egypt community fire fox os workshop   session 2
Mozilla egypt community fire fox os workshop session 2
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen development
 
Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR Seminar
 
Flash/ActionScript
Flash/ActionScriptFlash/ActionScript
Flash/ActionScript
 
What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2
 
Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introduction
 
Adobe flex an overview
Adobe flex  an overviewAdobe flex  an overview
Adobe flex an overview
 
Adobe Flex: Creating Widgets for the Desktop and Web
Adobe Flex: Creating Widgets for the Desktop and WebAdobe Flex: Creating Widgets for the Desktop and Web
Adobe Flex: Creating Widgets for the Desktop and Web
 
Flex Air Intro
Flex Air IntroFlex Air Intro
Flex Air Intro
 
Adobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and MobileAdobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and Mobile
 
Flex Introduction
Flex Introduction Flex Introduction
Flex Introduction
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
Making Money with Adobe AIR
Making Money with Adobe AIRMaking Money with Adobe AIR
Making Money with Adobe AIR
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnif
 
iPhone Web Development
iPhone Web DevelopmentiPhone Web Development
iPhone Web Development
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: Overview
 

More from Matthew McCullough

Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveMatthew McCullough
 
All About GitHub Pull Requests
All About GitHub Pull RequestsAll About GitHub Pull Requests
All About GitHub Pull RequestsMatthew McCullough
 
Git Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyGit Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyMatthew McCullough
 
Git and GitHub at the San Francisco JUG
 Git and GitHub at the San Francisco JUG Git and GitHub at the San Francisco JUG
Git and GitHub at the San Francisco JUGMatthew McCullough
 
Migrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMigrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMatthew McCullough
 
Build Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGBuild Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGMatthew McCullough
 
Git Going for the Transylvania JUG
Git Going for the Transylvania JUGGit Going for the Transylvania JUG
Git Going for the Transylvania JUGMatthew McCullough
 
Transylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsTransylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsMatthew McCullough
 
Game Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGGame Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGMatthew McCullough
 
Cascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGCascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGMatthew McCullough
 

More from Matthew McCullough (20)

Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge Interactive
 
All About GitHub Pull Requests
All About GitHub Pull RequestsAll About GitHub Pull Requests
All About GitHub Pull Requests
 
Adam Smith Builds an App
Adam Smith Builds an AppAdam Smith Builds an App
Adam Smith Builds an App
 
Git's Filter Branch Command
Git's Filter Branch CommandGit's Filter Branch Command
Git's Filter Branch Command
 
Git Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyGit Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh My
 
Git and GitHub at the San Francisco JUG
 Git and GitHub at the San Francisco JUG Git and GitHub at the San Francisco JUG
Git and GitHub at the San Francisco JUG
 
Finding Things in Git
Finding Things in GitFinding Things in Git
Finding Things in Git
 
Git and GitHub for RallyOn
Git and GitHub for RallyOnGit and GitHub for RallyOn
Git and GitHub for RallyOn
 
Migrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMigrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHub
 
Git Notes and GitHub
Git Notes and GitHubGit Notes and GitHub
Git Notes and GitHub
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Build Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGBuild Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUG
 
Git Going for the Transylvania JUG
Git Going for the Transylvania JUGGit Going for the Transylvania JUG
Git Going for the Transylvania JUG
 
Transylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsTransylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting Announcements
 
Game Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGGame Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUG
 
Cascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGCascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUG
 
JQuery Mobile
JQuery MobileJQuery Mobile
JQuery Mobile
 
R Data Analysis Software
R Data Analysis SoftwareR Data Analysis Software
R Data Analysis Software
 
Please, Stop Using Git
Please, Stop Using GitPlease, Stop Using Git
Please, Stop Using Git
 
Dr. Strangedev
Dr. StrangedevDr. Strangedev
Dr. Strangedev
 

Recently uploaded

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 

Recently uploaded (20)

Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 

Java FX Script - From Takeoff To Cruising Altitude

  • 1. JavaFX Script From Takeoff to Cruising Altitude... Matthew J. McCullough Ambient Ideas, LLC
  • 3.
  • 4.
  • 5. A quick review of terms
  • 6.
  • 8. JavaFX Script JavaFX Mobile
  • 9. JavaFX Mobile •Complete Mobile Phone Stack •Think “Google Android”
  • 10. JavaFX Script • Formerly known as F3 •A new Java-like scripting language specifically for RIAs • Think Silverlight, Flex, or AIR
  • 11. The write once, run anywhere portability of Java technology has helped make it the world's most widely deployed application platform. Now, Sun is introducing JavaFX Script, a highly productive scripting language that enables content developers to leverage the enormous popularity of Java to create rich applications and services for deployment on the widest range of platforms - from mobile devices to set- top boxes and Blu-ray Discs to desktops. ”
  • 12. Hello RIA World Code Demo
  • 13.
  • 15. *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  • 16. Product Browser Desktop Platforms *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  • 17. Product Browser Desktop Platforms Ajax 3* ✔ *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  • 18. Product Browser Desktop Platforms Ajax 3* ✔ Adobe Flash 4 ✔ *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  • 19. Product Browser Desktop Platforms Ajax 3* ✔ Adobe Flash 4 ✔ Adobe Flex 4 ✔ *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  • 20. Product Browser Desktop Platforms Ajax 3* ✔ Adobe Flash 4 ✔ Adobe Flex 4 ✔ Adobe AIR 2* ✔ *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  • 21. Product Browser Desktop Platforms Ajax 3* ✔ Adobe Flash 4 ✔ Adobe Flex 4 ✔ Adobe AIR 2* ✔ Microsoft Silverlight 2 ✔ *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  • 22. Product Browser Desktop Platforms Ajax 3* ✔ Adobe Flash 4 ✔ Adobe Flex 4 ✔ Adobe AIR 2* ✔ Microsoft Silverlight 2 ✔ Sun JavaFX Script 4+ ✔ ✔ *Ajax has behavior issues on browsers other than Firefox, Safari, & Internet Explorer *AIR to support Linux at a later date
  • 23.
  • 24. Applets are Back & WebStart is Hot
  • 25. JavaFX Interest Poll JavaFWhat? Not At All Not Very Somewhat Source: Java.net JavaFX Poll, August 2007 Very
  • 26. JavaFX Interest Poll 70% JavaFWhat? Not At All Not Very Somewhat Source: Java.net JavaFX Poll, August 2007 Very
  • 27.
  • 28. Source: TIOBE Programming Community Index for December 2007
  • 29. Source: TIOBE Programming Community Index for December 2007
  • 30.
  • 34.
  • 35. Consumer JRE Size •Current JRE download is 12MB •Reduced Footprint through Java SE 6 Update N •Goal of 2MB
  • 36. Consumer JRE Size Idea Source: Danny Coward, JAZOON 07, Zurich
  • 37. Consumer JRE Micro Bundles •Back-to-Basics JRE •Starts with hello world support •Downloads additional parts as needed Source: Java SE 6 Update N Early Access Program & Jim Weaver’s JavaFX Blog
  • 38. Consumer JRE Performance •Quick Starter for cold starts •Prefetches portions of JRE into memory •Graphics rendering hardware acceleration Source: Java SE 6 Update N Early Access Program
  • 39.
  • 42. Interpreted ‣ Starting point for language ‣ Proof of Concept only ‣ In process of deprecation ‣ But has current IDE Support
  • 43. Compiled ‣ Official language tool, javafxc ‣ Built on top of javac ‣ Open Source ‣ Work In Progress, but very usable
  • 44. Bind Operator ‣ Automatic binding of form element to data model ‣ Core JDK has no equivalent ‣ Libraries such as Swinglabs only partially accomplish this for Swing ‣ Built on Beans Binding JSR 295 library
  • 45.
  • 47. Threads ‣ DO, DOLATER currently in interpreter
  • 48. Threads “(Working on SwingWorker wrapper in compiler) so it is as easy (possibly easier) to use as AJAX's XMLHttpRequest” -Tom Ball
  • 49. The Compatibilty Secret ‣ Swing based rendering on PC devices ‣ Other rendering engine for smaller devices such as Blu-Ray
  • 50. SceneGraph Effect ‣ Objectifying nodes Composite Node ‣ Binding nodes together ‣ Adding behavior to TextField Box composite nodes ‣ Radial Standalone Java library SimpleLabel Gradient
  • 51. JavaFX 2D Tutorial Code Demo
  • 52. Animation ‣ Interpreted: picks.opacity = [0, .01..1] dur 1000 linear ‣ Compiled: Key frames, timeline
  • 53. Animation As many as 500 lines of Swing code equivalent to 10 of JavaFX
  • 54. Keyframe Animation ‣ Next step in JavaFX animation ‣ Advanced capabilities ‣ Currently in compiler in rough state
  • 57. JavaFX 2D Tutorial Code Demo
  • 58. Java3D’s Successor “ Specifically, we are working on a new 3D scene graph, as part of the JavaFX player, that will complement the 2D Scenario scene graph. Its initial focus will be 3D effects, casual games, and simple 3D ” viewing applications... Source: http://forums.java.net/jive/thread.jspa?threadID=36022&tstart=0
  • 59.
  • 61. The Perfect Blend •Leverages all existing Java libraries •Retro-capable back to JRE 1.5 •Browser, Desktop, and Phone •Groovy, JRuby, Scala, Jaskell, Jython
  • 62. Mix & Match Groovy Code Demo
  • 63.
  • 64. IDEs ‣ NetBeans ‣ Eclipse ‣ IntelliJ ‣ ReportMill
  • 66. Previewing Results ‣ Live preview of code changes ‣ No compile cycle delay for testing ‣ But uses Interpreter...
  • 68. ReportMill JFXBuilder •Most advanced demos •Representative of future tools from Sun
  • 69.
  • 71.
  • 73. “ Sun’s JavaFX Tools are turning the workflow sideways ” James Gosling Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
  • 74. Our architecture is more like the coder does this part and the artist does this part, and then the artist can do the plugging in [of the design] themselves. They can update the artwork and the [developer] guy can update the code, and they are talking to the tool together. ” It's not conditional on the other. James Gosling Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
  • 75. Sun Microsystems is working on interoperability between design tools from Adobe Systems and its upcoming JavaFX tools for application developers building rich application interfaces and rich-internet applications (RIAs). James Gosling, Sun vice president and fellow, told Register Developer that Sun is working to ensure interoperability - rather than provide its own design tools. “ We are putting a lot of effort into interoperability with the Adobe tools - a lot of the Adobe tools are wired into the neurons of the artists of the world. We are not trying to be a ” completely isolated island that has all the tools for everybody. James Gosling Source: http://www.regdeveloper.co.uk/2008/01/24/javafx_tools_adobe/
  • 76.
  • 77. Q&A
  • 78. Q&A Email questions to: MatthewM@AmbientIdeas.com Slides & Source Code at: www.AmbientIdeas.com/engineering/engineering-training.html
  • 79.
  • 80. Resources •James Weaver’s JavaFX Blog http://learnjavafx.typepad.com •Sun JavaFX Script Homepage http://www.sun.com/software/javafx/script/index.jsp •ReportMill JFXBuilder http://www.reportmill.com/jfx/ •Planet JFX http://jfx.wikia.com/wiki/Main_Page
  • 81. Resources •JavaFX Language Reference, Nightly Build http://openjfx.java.sun.com/current-build/doc/JavaFX-Language.html •Project SceneGraph https://scenegraph.dev.java.net/ •Comparing Flex and Ajax Dev Models http://www.adobe.com/newsletters/edge/february2008/articles/article4/ •Swinging in Groovy http://groovy.dzone.com/tips/swinging-groovy-fun
  • 82. Quotes •Rich Green @ Java One San Fran •“Meant for building Rich Internet Applications (RIAs)” •“For content professionals” •“All based on Swing and Java 2D”
  • 83. Quotes • Danny Coward, JAZOON 07, Zurich • Visual Tools, Visual Developers • Only occasionally dropping down to script level coding • Meant for animated, simple, client apps that are highly branded • Not used much by technical java developers
  • 84. Quotes •Chris Oliver, creator of JavaFX Script • Created Motorola equivalent site in 3 days