The No.1 i-Technology Magazine in the World !
   
 

      ES no BS
This is a personal blog of Yakov Fain       My son's animations and music         No BS IT podcast      Америчка




Archives

««Sep 2010»»
SMTWTFS
    1
2
34
567891011
12131415161718
19202122232425
2627282930

RSS Feed








Subscribe to these blogs

More on Adobe Flex vs. Java Swing

posted Wednesday, 13 September 2006

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 & 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.

tags:        

links: digg this    del.icio.us    technorati    




1. JeffS left...
Friday, 15 September 2006 5:29 pm

Interesting that the Flex IDE is built with Eclipse RCP - Java/SWT based.

You'd think that since Flex is so hot for Rich Clients, they would've built the Flex IDE with, ... Flex. It's already possible to build desktop apps with Flash, so one would think they could do it with Flex.

So what happened to eating one's own dog food?

Same thing with MS and .Net - they're not releasing too many of their end user apps written in .Net. For that, it's mostly C/C++ and good ol' Win32. Visual Studio, at least, is written in .Net. But they probably figure developers are more aware and tolerant of stuff running in a resource hungry VM. But put that bloat and slowness in front of any regular end user, and it's all over.


2. Yakov Fain left...
Friday, 15 September 2006 5:44 pm

No Jeff, the reason for not building Flex Builder not in Flex is that Flex is a tool for Web applicaiton, it does not give you access to system resources, which are required for IDE. The Flex framework is written in ActionScript 3.0, so they eat their own dog food.

Nex year Adobe Apollo comes out, and this will be possible to write a different IDE in Apollo, but again, for what reason? Flex is well integrated with Java and it makes sense to have one IDE (Eclipse) and not two.


3. JeffS left...
Friday, 15 September 2006 6:03 pm

So is Flex web only then?

Doesn't Flex compile to (or run on) Flash 9?

And isn't it possible to write desktop apps with Flash?

And being that Flex runs on Flash 9, and Flash can be used for desktop development, by extension couldn't one use Flex for desktop development? Or am I way off base, like it might be possible, but it would suck, type of thing? Perhaps the fact that Flex can't call the local API is the issue, and Apollo is supposed to solve that.

Please excuse my ignorance/confusion.


4. JeffS left...
Friday, 15 September 2006 6:16 pm

How does Flex compare to OpenLaszlo?

I'm thinking that Flex has to be so vastly superior to OpenLaszlo, that checking out Flex would lead my jaw to drop and eyes to pop out, and send me to programming ecstasy/nirvana, and cause me to dance a jig and do back flips, to justify paying $500 for Flex as opposed to 0$ for OpenLaszlo.

Yes, I'm a cheap-ass. All those great free tools/IDEs out there - NetBeans, Eclipse, KDevelop, GCC, OpenLaszlo, Ant, JUnit, Nvu, JBoss, etc - have me completely spoiled. ;-)

It appears Adobe (and previously Macromedia) is playing the market balance game really well. Flash is hot. Photoshop is hot. Flex is apparently hot. And thus they can get away with charging exorbitant for their dev tools. They could reduce the prices on those products, and thus increase the developer uptake. But then it might reduce the premium image of the technology. Interesting stuff.


5. Yakov Fain left...
Friday, 15 September 2006 6:22 pm

Flex does not have File API, Apollo will.

There is a Flex solution for poor/cheap people as well: http://webddj.sys-con.com/read/264915.htm


6. Jeff S left...
Friday, 15 September 2006 7:10 pm

Very cool. I'm downloading the Flex 2 SDK right now, and I checked out your little tutorial, which I'll give a spin, of course. Thanks!

BTW - If I really get into it, and my employer likes the samples I'll produce, I'll consider buy Flex Builder. At that point, a very high powered IDE that increases my productivity with the technology would be very much worth the cost.


7. Jeff S left...
Monday, 18 September 2006 1:39 pm

Not bad, after using it. Very similar to OpenLaszlo.

I'm a bit disappointed, however, that it does not have a Linux version, nor has Adobe put out a Linux version of Flash 9 (which is required for Flex).

I'm sure that Adobe and Flex proponents would make the argument that the Linux desktop is not significant enough for Adobe to make it more of a priority. To which I say Linux is at least as important on the desktop as Mac OSX, if not more improtant. IDC numbers (the last I read) have Linux numbers close to Mac OSX in market share.

However, IDC numbers are based solely on units shipped, meaning Licenses sold, boxed versions sold over the counter, or computers with the OS pre-installed. But with Linux, the vast majority of use comes from free downloads, and circulation from there. IDC (or Evans, or Gartner) can't accurately track free downloads. They can only measure sales / units shipped. Thus, the sales / units shipped metric only presents a small portion of the Linux Desktop phenomenon. One could (accurately) make the argument that Linux desktop use is significantly larger than Mac OSX, when one takes into account all those free downloads and dual boot configurations.

Then there is the enterprise. Linux is most definetely a much more important player there than OSX, particularily on the server, but also increasingly on the workstation or desktop.

Also, of course, Adobe brags about Flash being totally cross platform. Well, you can't make that claim if one of the most important platforms is only partially supported.

Now all that said, I'll gladly use Flex on Windows. I regularily use both Windows and Linux. But my preferred platform is Linux, wherever possible, for a lot of reasons (which I won't get into now).

In short, Adobe should get it's act together and make Linux more of a first class citizen, like so many other large IT vendors not named Microsoft already have. They have the resources and know how (Photoshop is built with QT, Flex builder with Eclipse RCP), and the development investment would be fairly minimal. They just lack the inertia.


8. Yakov Fain left...
Monday, 18 September 2006 1:51 pm

Flash Player 9 on Linux will be available early 2007: http://linuxlookup.com/2006/sep/01/linux_version_of_adobe_s_flash_player_9_ not_this_year


9. Jeff S left...
Monday, 18 September 2006 2:17 pm

"Flash Player 9 on Linux will be available early 2007"

That's good, and I was already aware of it, but thank you for reminding me.

But really, the Linux version should have been available at the same time as the Windows and OSX versions.

They have Linux versions for Flash 8 and prior, and the Adobe pdf viewer. But it would be nice to see a major commitment from Adobe to release all or most of their great software for Linux. I already mentioned Photoshop, which uses QT (the totally cross platform C++ GUI toolkit) for the GUI. You would think that compiling Photoshop for Linux would be a piece of cake, relatively speaking.

Oh well, in time ...