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.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jon Rose on Nov 19, 2008
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.
Monitor your Production Java App - includes JMX! Low Overhead - Free download
18 agile and lean practices for effective software development governance
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
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:
www.adobe.com/products/player_census/flashplaye...
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:
livedocs.adobe.com/blazeds/1/blazeds_devguide/b...
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
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.
Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.
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.
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?
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.
Chris Richardson shows how he ported a relational database to three NoSQL data stores: Redis, Cassandra and MongoDB.
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?
5 comments
Watch Thread Reply