InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

JavaFX and Adobe Flex Insider Shares Thoughts

Posted by Jon Rose on Nov 19, 2008

Sections
Architecture & Design,
Development,
Enterprise Architecture
Topics
Java ,
Rich Client / Desktop ,
Rich Internet Apps ,
Web 2.0
Tags
Sun Microsystems ,
JavaFX Script ,
Flex ,
JavaFX Mobile ,
Adobe Integrated Runtime ,
Adobe ,
Flash

Chet Haase of Adobe Systems, who previously worked at Sun on the JavaFX team, shared the following comparisons of JavaFX and Adobe Flex on the Yahoo FlexCoder group.

  • Maturity: One of the reasons that you haven’t heard much about JavaFX to date is that it’s actually not yet released. Supposedly this will happen in the very near future, so maybe we’ll all hear more about it at that time.
  • Language: Although many of the underlying capabilities of JavaFX rely on the Java SE platform, JavaFX itself is based on a new scripting language (not Java, not JavaScript, not ActionScript, but a new scripting language entirely). One notable differences between the languages of JavaFX and Flex is that Flex uses MXML for its declarative aspects, and ActionScript for the programmatic aspects. The JavaFX language combines both of these elements, having aspects of declarative and programmatic in the same code.
  • GUI capabilities: Both platforms offer GUI components, graphics, animation, and databinding capabilities, thought the platforms differ widely in syntax and capabilities of these different features.
  • Tooling: Most of the tooling so far announced for JavaFX are more on the code developer side; editing plugins for NetBeans, plus export plugins for Illustrator and Photoshop (they produce PNG files from the layers in the project). On the Flex side, there’s the FlexBuilder IDE and the in-development tools such as Flash Catalyst for designer/developer workflows and FXG roundtrip import/export from/to the CS tools including Catalys for the graphics tags in the Gumbo release of the SDK.
  • Runtime availability: The availability of the JavaFX runtime is basically that of the Java platform (if a user’s machine does not have the proper release of Java (I believe it will require the latest updated 10 release), they will need to download/install it). The availability of Flex is basically that of the Flash platform of the appropriate version (e.g., Gumbo will run on FlashPlayer 10).

Chet does acknowledge that the view from the inside can be different, and offers the following query on how others view the platforms.

I would be curious to find out how others view the platforms, especially from the standpoint of external application developers...

In the past, InfoQ covered Chet’s departure for Adobe, and has featured him in both interviews and video.

Flash Player 9 by Christopher Brind Posted
Re: Flash Player 9 by Darren Smith Posted
Flex for multi channel? by Feby Thomas Posted
Re: Flex for multi channel? by Darren Smith Posted
JavaFX Runtime by anthony rogers Posted
  1. Back to top

    Flash Player 9

    by Christopher Brind

    In the quoted extract Chet's final point might be construed as Flex having a dependency on Flash Player 10.



    Note that while Gumbo requires Flash Player 10 most people are building apps with Flex 2 or 3 which requires Flash Player 9. Flash Player 9 is (allegedly) installed on "most" computers.

  2. Back to top

    Re: Flash Player 9

    by Darren Smith

    Penetration of Flash Player 9 is 97.7% so I'd say that's definitely "most" computers:

    www.adobe.com/products/player_census/flashplaye...

  3. Back to top

    Flex for multi channel?

    by Feby Thomas

    How is the support from flex for multi channel access of the same application UI?

  4. Back to top

    JavaFX Runtime

    by anthony rogers

    JavaFX 1.0 will run on JRE 1.5 and greater, for new plugin features there is a requirment of the new java plugin that ships with jre 1.6-u10. Hope that helps?

  5. Back to top

    Re: Flex for multi channel?

    by Darren Smith

    From the BlazeDS developers guide:

    "Flex components use channel sets, which contain one or more channels, to contact the server. You can automatically or manually create and assign a channel set to a Flex component. The channel allows the component to contact the endpoint, which forwards the request to the destination."

    BlazeDS is Adobe's open-source server-based Java remoting and web messaging technology:

    livedocs.adobe.com/blazeds/1/blazeds_devguide/b...

Educational Content

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.

Polyglot Persistence for Java Developers - Moving Out of the Relational Comfort Zone

Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.

The Golden Circle – Why How What

Jean Tabaka challenges the audience to reflect on what Agile practices they are employing, how they are using them, ending with the questions “Why have their organization chosen to go Agile?