More on Adobe Flex vs. Java Swing

JDJ reprinted my blog “Who is winning the desktop… “, and one of the readers left a comment there. Here ‘s the comment and my answer to it.

This is what the reader “m ” writes:

“I believe that Yakov ‘s credibility with me evaporated when he claimed just ‘5 seconds ‘ to be installed and running the demo. The installation requires a browser restart which can take longer than that in itself. Furthermore, Flash installations fail all the time. Several times in recent months I have had to completely uninstall and reinstall browsers in order to get the Flash install to actually work.

I ‘m getting pretty sick of the myth that Flash applications ‘just work ‘. They mysteriously hang and mis-display elements all the time. My kids play lots of on-line games and CD-deployed games that are written in Flash and we always seem to be hopping from browser to browser and even between operating systems trying to get a combination that works with some particular flash app. How is this better than Java?

Flash is pretty easy to create simple apps with, but anything sophisticated seems (imho) to get bogged down and kludgy. The code quickly becomes a mess to maintain and the UIs are so cartoonish so often. I realize that the latter are symptomatic of the skills of the developers, but hey – maybe that is the point – by the time a Flash developer has the skill to do a decent sophisticated app, doesn ‘t he charge just as much as the skilled Java developer?

And the size of flash apps does bloom with the sophistication of the app quite a bit, just like java. And finally, why is it okay to have to download and install the flash runtime before you are able to run a flash app but the need to download and install a java runtime is somehow held against Java?

The fact is, the percentage of systems that already have Java installed on them is growing and growing. All Macs have it. Nearly every new Linux system and lately the vast majority of new Windows machines already have it. And if you don ‘t it is a pretty painless download amp; install experience to get it.

Fain completely ignores the growing number of java desktop applications based on the Eclipse/OSGi platform. Convenient oversite.

The comment that Java developers and advocates are going to argue here because “Java Swing puts bread on their tables. They do not want changes. They do not want to learn another language or tool. ” is so weak. One can easily turn that around that numerous advocates of alternatives (Flash, etc) are casting FUD about Java because they want to get their fingers on the same economic pie. So back off on the holier-than-thou attitude.

This isn ‘t about fear of change (most developers have no fear about learning new technology, including languages) – this is about whether the change makes sense. Developers do have a fear of wasting time learning technologies that don ‘t add new value. For the vast majority of it solutions out there, Java does make sense. Not all. But advocating for change simply for change ‘s sake – especially when you are ignoring established solutions for the same problems – is wasteful and intellectually dishonest.

Change to solve new problems or old ones in a better way is good. Change just for change ‘s sake may or may not be good. ”

And this is my response:

Dear m,

I ‘m really sorry to hear that my credibility with you have evaporated because the ‘5 seconds ‘ install did not work for you, and because I decided to use anything in addition to Java. Usually Flash express install is pretty quick, but hey, it ‘s software.

Your other comments on Flash are applicable to previous version of Flex/ActionScript. But I ‘m talking here about Flex 2, ActionScript 3.0, Eclipse-based IDE, and Flash Player 9, which is about 10 times faster that Flash Player 8.

As to FUD, I ‘m the last person to spread FUD about Java, which I like on the server side. Swing is also very powerful framework, bur overly complicated. You mentioned high rates, but it still cheaper to hire an expensive Flex consultant for a month than equally expensive Swing guy for two months. In my modest estimates, the productivity doubles in Flex 2 comparing to Swing.

This is not a change just for a change. For example, I ‘d never suggest AJAX for business application, which seems to be a lot more fashionable thingy than Flex. I ‘m not jumping to the Ruby camp, which is another popular trend. But after spending 25 years developing software, I have a nose for the software with greater potential. This is not to say that I do not see the potential in Ruby. Three years from now it may be big. But as of today, Adobe Flex 2 and upcoming Apollo is the only game in town, when it comes to RIA development.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s