Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News


2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
SYS-CON.TV
Top Links You Must Click On


JAVA Feedback
Letters to the Editor

My Observations
["RIA with Adobe Flex 2 and Java" by Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Vol. 11, issue 5]

I have been working both with Java Swing and ActionScript while creating a GUI. Here are my observations that defy your statements in the article.

1.  "Imagine the amount of Java code you'd need to write to achieve the same functionality." There are a number of Java XUL implementations and Swixml is one of my favorites.

2.  "...but we wouldn't have to worry about routing all events to the event-dispatch queue." In Java, you use listeners and handler functions to attach to the GUI events. Events are routed automatically. Creating custom events in ActionScript would take just as much effort as in Java (or probably less, since it has Observer,Observable and other utility classes in the rt library, unlike Flash).

Now the drawbacks of using Flash (components v.2) over Java:

1.  Flash components are badly written; there are many undocumented bugs that you would never overcome, e.g., try adding a combobox to an accordion pane, or a menu inside of a scrollpane. The most awful truth about Flash components is that they are badly integrated with one another and putting them inside one another will most likely result in something quite unpredictable (only frozen layers from a component can be seen; the focus frame cannot be set; dropdown layers are displayed underneath another nearby components, etc.)

2.  Flash components are closed source. Even if you care to dig into the truth, you wouldn't risk changing anything because the bug is in the layered structure of the Flash drawing and there are some constraints on using the depths of those layers.

3.  There are no skins for different components, and it's unlikely that Adobe will come up with something unbuggy in the next release, since their main interest is increasing the feature set and popularizing some visual benefits, but it's hell for programmers. (Some 4+ releases in my history have proven that at least to me.).

4.  Flash has no threads, no thread management. If you start some calculation or even a simple data manipulation or object creation during some visualization process, you get a freezer.

All the rest about the small size, video/audio, Web integration, cross-platformedness is true, but I wouldn't use Flash in a project with complex GUI.

-Vitaly Sazanovich

Vitaly,
Thank you for your feedback. Let me start with one "platform" statement: Flex is the application server solution with a service-oriented client layer built on top of the Flash Player.

Now, I'll jump to the point where you started agreeing with us and from there will walk through the list of concerns all the way back.

4.  "Flash has no threads, no thread management."
I find this rather hard to justify as it is.

Multithreading capabilities are implemented in browsers as well as in the Flash Player. You may question, however, the level at which these capabilities are available to a programmer. After all, the beauty of XMLHTTPRequest is that it is asynchronous, isn't it? Otherwise we'd be saying JAX instead of AJAX :). Similarly, the same asynchrony has been available with Flash Remoting since 2002 or 2003, if I am not mistaken.

Let's take your use case - "some calculation." Must be something CPU worthy, I guess. The question is where does it belong in the distributed system, regardless of the Swing/Flash debate. Perhaps on the server, closer to data sources? Then, using the remoting capability of Flex/Flash, I would suggest a POJO running not only in a separate thread, but also on a separate machine, across the wire!

Now, just out of curiosity, let's try to play without the server, with Flash alone. Here is another take: can you have another "servant" application run by the Flash Player within the same hosting HTML page? Can you interop via the LocalConnection object to invoke methods, pass parameters - all with complete marshalling of complex data types to native objects?

Wouldn't it be happening in a different thread?

Perhaps we can come to a more accurate statement: there is no pre-emptive multithreading within a single Flash VM. This might indeed be an issue if we had to take distributed computing out of the picture.

But we don't have to, do we?

3.  "There are no skins for different components..."
This one is simpler. If you are, in fact, talking about Flex, which has a totally different code base than Flash controls, the statement is outright ungrounded. Flex controls support pretty advanced skinning, although my fascination with the subject went south after I skinned a couple of controls.

But then here's another part: "...Adobe...main interest is in popularizing visual effects..."

Well, this is one very popular illusion, I might say. How about this answer: Adobe Flex offers developers a JMS adapter that enables them to create a producer or consumer with one line of XML code? How _visual_ is that?

2.  "Flash components are closed source..."
I have a secret to tell. Flex comes with full sources. Look at them, step them through, do whatever you please. Just don't tell Adobe I told you :). Seriously, are we sure we are talking about the same products here?

Our article was about Flex.

1.  "Flash components are badly written..."
If indeed we are both talking about Flex, I find their components extremely well done. Not that I doubt for a split second that you can find a handful of cracks in each of them. But, being an expert, you naturally see how to avoid a problem - in another split second, don't you?

Also, now that you have the full source code of the controls (you do, I kid you not), what stops you from overriding any given method and creating your own Accordion or whatever? The Flex community and Flex engineers are very friendly people who will gladly accept and appreciate any good ideas you might want to offer.

About Java News Desk
JDJ News Desk monitors the world of Java to present IT professionals with updates on technology advances, business trends, new products and standards in the Java and i-technology space.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Flash components are badly written; there are many undocumented bugs that you would never overcome, e.g., try adding a combobox to an accordion pane, or a menu inside of a scrollpane. The most awful truth about Flash components is that they are badly integrated with one another and putting them inside one another will most likely result in something quite unpredictable (only frozen layers from a component can be seen; the focus frame cannot be set; dropdown layers are displayed underneath another nearby components, etc.)


Your Feedback
n d wrote: Flash components are badly written; there are many undocumented bugs that you would never overcome, e.g., try adding a combobox to an accordion pane, or a menu inside of a scrollpane. The most awful truth about Flash components is that they are badly integrated with one another and putting them inside one another will most likely result in something quite unpredictable (only frozen layers from a component can be seen; the focus frame cannot be set; dropdown layers are displayed underneath another nearby components, etc.)
Enterprise Open Source Magazine Latest Stories . . .
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP). The...
With Cloud Expo 2012 New York (10th Cloud Expo) just four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have technical and st...
AMD said late Tuesday that its chief sales officer Emilio Ghilardi had left the company and that CEO and president Rory Read is going to do his job while a replacement is sought. AMD didn’t say why Ghilardi left but it’s assumed Read wants his own people. Read is relatively new to th...
During the lifespan of M3 (Monitis Monitor Manager) there has always been something lacking – timers. M3 execution procedure was outlined in this previous article. The execution mentioned in the latter was a one-time-execution, whereas server monitoring requires periodic invocati...
Red Hat is putting its bought-in Gluster scale-out NAS storage technology, acquired in October, on the Amazon cloud. It’s styled Red Hat Virtual Storage Appliance for Amazon Web Services and other clouds are supposed to follow in short order.
A new episode of the screencast series is now available at the OpenNebula YouTube Channel. This screencast demonstrates the new easily-customizable self-service portal for cloud consumers. Its aim is to offer a simplified access to shared infrastructure for non-IT end users. The scree...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE