Peter Pilgrim is professional software developer, designer and architect. Since 1998 he has worked in the financial services industry, investment banking mainly, developing IT for clients. He is a well known specialist in Java Enterprise Edition (Java EE) technology, focused on the server-side and the implementation of electronic commerce. Peter has built professional Java EE apps for top-tier investment banks such as Lloyds Banking Group, UBS, Credit Suisse, Royal Bank of Scotland and Deutsche Bank. Peter is the 91st Oracle Java Champion. Peter is a DZone MVB and is not an employee of DZone and has posted 34 posts at DZone. You can read more from them at their website. View Full User Profile

JavaOne 2010 Alternative JVM Languages including JavaFX

09.22.2010
| 8975 views |
  • submit to reddit

You probably are already aware that JavaFX Script is no longer to be developed, by Oracle Corporation, beyond JavaFX 1.3.1 release. This is a cost-benefit decision and purely pragmatic business decision. JavaFX is now re-branded to Java API, in order it is JavaFX with Java API. I believe in the long term that Oracle has made a very wise decision. They are looking at the long-tail of computer development, especially in the consumer electronics and portable device space. JavaFX is a client side technology, so they are going aggressively to the TTM (Time-to-market) launch and also answering in one fell swoop two questions that have always been difficult to respond regarding JavaFX. Personal disclosure: yours truly has been aware of Oracle's decision to change JavaFX 2.0 for a few weeks now.

Two Fundamental Questions Answered Today

How can I integrate JavaFX with existing Swing applications? You have an answer now. JavaFX will be ported to Java. All of the current existing features of the JavaFX runtime and language, version 1.3, the scene graph, the ability to bind between object properties will have a Java API. You will be able to create a FX Stage in Java and add scene-graph components and layout container to it.

How can I use JavaFX in other alternative JVM languages? You also have an answer now. Oracle's long tail solution, and this is evidence of the business heads make decision about the existing JavaFX product, is to reinforce the mother language, which is Java. By providing a Java API, a library and framework, which allows ordinary Java developers to invoke JavaFX Script current features, then therefore these features are immediately available to other alternative JVM languages: JRuby, Clojure, Groovy and, best of all, Scala. I am incredibly pumped up that I could get Scala and FX features working together extremely soon.


New Business Model

In summary, paraphrasing Oracle's official slides: Java is the next primary language in JavaFX 2.0. Binding and sequences will be available as Java API
Oracle is emphasising the ability to embrace all JVM languages to use FX. Unfortunately the JavaFX Script language wont be updated to FX 2.0 library,  however we have asked for it to be handed over open source completely. Existing JavaFX 1.3 programs will continue to run on the next runtime. [However your mileage may vary after the furthers updates on the JavaFX 2.0 product line. Stephen Chin has an important announcement for JFXtras concerning JavaFX Script language].


During Larry Ellison opening keynote on Sunday, I went to the Hilton Hotel to see the live stream of the event. I had to a chance to meet with Brian Goetz whilst the keynote video wall was playing. I spoke to him, he talked about JavaFX as Java API library framework, the reason for this decision was because "lack of resources and we needed a considerable amount of time to build adequate tooling". Brian said that, "Look at the way Microsoft delivers it new products, for example SilverLight, Expression Blend or Visual C#. Every new product that Microsoft produces come with a tool [tooling], that is the Microsoft way and we [Oracle] have to learn how from that [business] model."


The Future of JavaFX

Oracle intends to evolve JavaFX 2.0 from the current FX 1.X product line. As for JavaFX Script the scenegraph, expression language and event model are mostly feature complete. So they aim to provide Java analogues of the current programming model, maybe they might consider the builder object idiom to cope with JavaFX Script declarative syntax will be missing. The current implementation of JavaFX stylesheets and styling of components using HTML / CSS will be ported to new JavaFX 2.0 for Java API

Oracle realises it need extremely good Java API Designer. They intend to release early, provide beta releases to key partner. They also intend to create build blueprints, samples, and demos in parallel. They clearly want to show JavaFX is intended for the enterprise and at this conference, at least, talked a very good game, of supporting the mainstream developers and engineers get into JavaFX. Make no mistake, this is the change the user desktop community have been looking for, JavaFX 2.0 effectively is the new way to develop modern user interface application.

There is one question that I did not see at the keynote, which absolutely fantastic for demonstrating the PRISM graphics pipeline. What has happened to the designer tool? There were slides on the developer and designer work flow shown at the event, however the code of the authoring tool, which I last saw was still using JavaFX Script. Here is the verbatim slides information, which dictate into Notepad++.


Developer oriented workflow

    RAD tool, SVG import, UI CSS
    
Designer "  "

    Designer produces media assets
    Developer produce modules (e.g. access web services)
    Designer  aggregates assets, graphics images, code modules & scripts using JavaScript or another
    dynamic language


Web Integration with JavaFX

Embed HTML in JavaFX

WebBiew node in the scene graph is embedded browser
Allow all Text nodes to have HTML content
Seamless DOM integration

Embed JavaFX in HTML

using traditional plugin technology
Seamless DOM integration
Adapt to use HTML 5, local storage, browser history, etc


Adopt more web standards

Improve CSS and add accessibility for HTML


Graphics

2D and 3D scene graph
    DirectX 9 on Windows XP, Vista
    DirectX 11 on Windows 7
    OpenGL on Mac, Linux, Embedded
    Software (Java2D) when necessary
    
Hardware accelerated pipeline
Embed in Swing
    c.f Java3D, JOGL
    Allows Swing applications to add JavaFX scenes, charts, media and controls
High Definition Media



Controls

Simple, Rich, Useful
Highly customisable via CSS
Visually appealing
Complete working out of the box
Data binding and tooling


Performance Small & Fast
Measure, measure, measure


AudioBoo Related Information

Please go and visit my specific website http://audioboo.fm/peter_pilgrim


Java Champions and Networking Opportunities


Here are some photographs around the time we were gathered to me up with Apolo Anton Ohno, the celebrated American Olympic speed ice skater. We all had to a chance to see the amazing set up Audio/Visual equipment to goes into making a keynote presentation for JavaOne, Oracle Open World.


Left is Fabrizio Gianneschi, Winner of the Duke Award 2006, Right is Yakov Fain




Left is Stephan Janssen, CEO of the Belgium User Group and of course DEVOXX, Right is JUGGY, the parrot finch,the official and unofficial mascot of all Java User Group communities worldwide, managed by Bruno Sousa, who comes from Brazil

Dr. Heinz M. Kabutz (left), originally from South Africa, lives in the lovely mediterranen Island of Crete. Dr. Heinz is at JavaOne 2010, his first conference, unbelievably for the very first time ever. Middle is Dr. Fabiane Bizinella Nardo, winner of the Duke award for Brazilian Healthcare Information System, and Right is Stephen Colebourne of Closures for Java, FCM fame and also JodaTime.

 


This is Peter Pilgrim, who in San Francisco for the JavaOne 2010 conference. Out

 

From http://www.jroller.com/peter_pilgrim/entry/javaone_2010_alternative_jvm_languages

Published at DZone with permission of Peter Pilgrim, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags: