Bindings, Platforms, and Innovation
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
Tracking change and innovation in the enterprise software development community
Posted by Jon Rose on Nov 19, 2008 08:49 AM
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.
Adobe® Rich Internet Application Project Portal
Download the Free Adobe® Flex® Builder 3 Trial
Adobe® Flash® Platform Overview PDF
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.
Penetration of Flash Player 9 is 97.7% so I'd say that's definitely "most" computers: http://www.adobe.com/products/player_census/flashplayer/version_penetration.html
How is the support from flex for multi channel access of the same application UI?
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?
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: http://livedocs.adobe.com/blazeds/1/blazeds_devguide/blazeds_devguide.pdf
This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.
This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.
This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.
This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.
This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.
After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.
IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.
Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.
5 comments
Watch Thread Reply