On MovieTome: First Look: Jessica Alba in 'Machete'!
BNET Business Network:
BNET
TechRepublic
ZDNet

April 5th, 2007

Is Flash better than Java?

Posted by Ed Burnette @ 2:43 pm

Categories: Community, General, Java, Programming, Scripting, Sun

Tags: Java, Macromedia Flash, Ed Burnette

In Focus » See more posts on: Adobe

For various reasons, Java applets have never worked all that well but we some folks use them anyway, for example in business charting and other graphic visualizations. Over the past few years alternatives to Java in and around the browser have been gaining traction, especially Flash. In this article I will argue that it's time for Java to take a lesson from its competitors (on the client side) and address some of the shortcomings that are allowing them to flourish.

Flash
The most serious competition for webtop Java is Macromedia Flash. Flash started life as a very small footprint (~180K) media plug-in for Internet Explorer and Netscape.Flash should light a fire under the Java community Adobe acquired Macromedia a few years ago, and has been pouring resources and marketing into it. Now, Flash 9 is an advanced development platform. Through Flex and ActionScript, you can write sophisticated browser-hosted interactive business applications. The run-time is still relatively small (much smaller than Sun's Java, about 1MB), it's frequently updated with "frictionless" installs, supports vector graphics, streaming video, Ajax-y back-end interaction, and many other features that users find appealing.

Flash Lite is extending the Flash ecosystem to mobile devices. What was previously the domain of J2ME (now called Java Micro Edition or Java ME) is now being Flash-enabled. Because Flash is vector-based, applications are easier to port from one screen size to another, and users don't see jaggies because Flash has always done anti-aliasing. When I read this article from Adobe it really made me think. Even if you don't do anything with J2ME, Flash Lite is draining more mind-share away from Java.

Adobe Apollo brings Flash to desktop applications, in direct competition with Java Swing and Rich Client Platforms. It holds an attractive promise of being able to share code between browser-based, mobile-based, and desktop-based applications. Well, hasn't Java been doing the same thing for 10 years? Yes, but its execution has been flawed in many ways.

Analysis
Ok, so what does all this mean for developers? The software industry has a tremendous investment in Java code, millions of lines and billions of dollars. We don't want to move to another language like ActionScript just for the fun of it, right? If there was a good enough reason, then it could be justified. I'm all in favor of new ideas and moving to better, more efficient technologies. In fact I've used that argument more than once to move C code to Java or C#. But recoding from Java to ActionScript? There's no way that qualifies. IMHO, there's no technical reason that Java can't do everything that Flash can do, with a little work.

The most serious problem that has allowed alternatives to flourish is the poor Java applet user experience. What if we could toss that out and replace it with something better?

I'm talking about work to make Flash-like small footprint installs of a Java-based run-time. Instant-on and streaming compressed content (no more Java progress bars). Frequent updates, fully backward compatible (no content left behind). Viewer-like security with no scary prompts for the user but no complicated signing either. And so forth. I'm sure you all have lots of ideas about this too.

What about F3?
Some have suggested that the new F3 language is Java's "Flash killer". F3 is an experimental declarative scripting language with static typing, type-inference, declarative syntax, data-binding, 2d graphics, declarative anmiation, and more. It demonstrates that the Java platform is highly competitive with competing platforms such as Flash. But F3 is a different language from Java. I'm talking about using Java code that already exists. Also I haven't seen any demos of F3 running inside the browser, only through Java WebStart (.jnlp). F3 doesn't address the underlying problems with applets and Java installs that Flash addresses. It can't be a Flash killer until its user experience is as good as or better than Flash.

Conclusion
For years the industry has waited for Sun to solve this problem and they haven't. Now, with Java 7 being open source, we could do something about it ourselves. Java experts could work together to build an open community around a new Java-based viewer (which we might not even want to call "Java"), and reverse the brain-drain away from Java technologies, preserving our investment in Java code and expertise.

Is Flash better than Java? No, just far better executed for some important use cases. Failing to address this, and allowing Flash and other alternatives to continue to grow and improve unchecked, is going to lead to competitive disadvantages or needless conversions down the road for Java developers. Instead of participating in endless arguments about esoteric subjects like closures and native code, competition from Flash should light a fire under the Java community and force it to respond with radically better user-facing solutions.

Ed BurnetteEd Burnette is a professional developer and author of several articles and books about computing including Hello, Android: Introducing Google's Mobile Development Platform, 2nd Edition. For disclosure of Ed's industry affiliations, click here or to view his full profile click here.

Email Ed Burnette

Subscribe to Dev Connection via Email alerts or RSS.

  • Talkback
  • Most Recent of 130 Talkback(s)
RE: Is Flash better than Java?
Flash is easy to work with so it is much popular with younger generation but Java takes time to learn and have more functions to explore with so I guess it is up to individual to choose what to use fo... (Read the rest)
Posted by: winsonkoh Posted on: 11/14/09 You are currently: a Guest | | Terms of Use
Each Has Its Purpose  rdgrimes | 04/05/07
Selecting the best tool for the job at hand?  jasonp@... | 04/06/07
Accept the Challenge  rdgrimes | 04/06/07
laugh a little  Robert Kohlenberger | 04/06/07
Not bad...  jasonp@... | 04/08/07
RE: Accept the Challenge  Chingo Bling | 04/08/07
I was referring specifically to the client side  Ed BurnetteZDNet Moderator | 04/06/07
The comparison is Flash and Java applet then  vpullur | 04/06/07
I agree...  DB_z | 04/06/07
Maybe it's just me, but  notsofast | 04/06/07
Flash=flashy, Java=serious  CobraA1 | 04/06/07
Can Java=flashy too?  Ed BurnetteZDNet Moderator | 04/06/07
Flash not so flashy  uno@... | 04/06/07
Flash can be serious  Bucky24 | 04/06/07
Like?  CobraA1 | 04/06/07
Serious... you mean like the "Lake Effect" ? Or Flashy like Yahoo Maps?  Duke E. Love | 04/06/07
That seems to be the exception to the rule  CobraA1 | 04/06/07
You mean real work, like this?  Duke E. Love | 04/10/07
I really don't like flash sites.  Tigertank | 04/06/07
Dancing cows  kentfx_z | 04/06/07
Too much of either suck  klumper | 04/06/07
It was a joke, bro.  Tigertank | 04/06/07
Flash annoys me too  glocks out | 04/09/07
Winners & Losers  author20@... | 04/06/07
Your post make no sense at all  Duke E. Love | 04/06/07
Hybridizing Java?  jlward4th | 04/06/07
Bruce Eckel's thoughts  Ed BurnetteZDNet Moderator | 04/06/07
Vector Graphics  Bucky24 | 04/06/07
Vector Graphics for Java  Ed BurnetteZDNet Moderator | 04/06/07
no they don't but...  Robert Kohlenberger | 04/06/07
I hope so  CobraA1 | 04/06/07
Where does SVG comes in?  renegmed@... | 04/06/07
Java script errors & bugs (flash works but..)  Linux User 1 | 04/06/07
Java, JavaScript, and Flash  Ed BurnetteZDNet Moderator | 04/06/07
Both are rendered moot with WPF/E  No_Ax_to_Grind | 04/06/07
Which is going no where.  techJerk | 04/06/07
You better take another look.  No_Ax_to_Grind | 04/06/07
So as you don't like "kiddie" environments  No_Ax_to_Grind | 04/06/07
8.5!  smartyram | 04/09/07
F3 nice, but has the problems as applets  MattiasW | 04/06/07
flash is awful  g_keramidas@... | 04/06/07
Don't blame the technology, blame the site designers  Ed BurnetteZDNet Moderator | 04/06/07
Nope!  techboy_z | 04/06/07
Design some sites, make fewer assumptions.  LeeC | 04/06/07
If the site doesn't really need a Flash to operate...  Knorthern Knight | 04/06/07
If You Don't Really Need Arms To Live...  Onideus_Mad_Hatter | 04/07/07
And if they don't give that option...  KWierso | 04/06/07
Re: flash is awful  davidr69 | 04/06/07
The toolset does influence the product...  buzzl | 04/06/07
What's REALLY annoying...  jdenton@... | 04/06/07
I have to agree that Flash is awful--and just try  labarker | 04/06/07
Sheeple Agreement Often Exposes Sheeple Deficiency  Onideus_Mad_Hatter | 04/10/07
Blocking Flash  pj_mouse | 04/06/07
flash is awful  g_keramidas@... | 04/06/07
Browser choice  Bucky24 | 04/06/07
I thought Flash was a toy until ...  davidr69 | 04/06/07
what about apples vs oranges...  kiwi704 | 04/06/07
Client side  Ed BurnetteZDNet Moderator | 04/06/07
yes, but...  kiwi704 | 04/06/07
What's all the hub-bub...  Dan@... | 04/06/07
Adobe Java Version of Flash  mighetto | 04/11/07
Dumb argument  efitzsimmons@... | 04/06/07
The Battle Of the Applet  mighetto | 04/11/07
java is a bloated pig  psyclone56 | 04/06/07
Valid Point; Counter Point  mighetto | 04/11/07
Better Java client could put them on top  csmith@... | 04/06/07
Need to know requirements and technology limitations  adanecito@... | 04/06/07
Rich functionality?  D. W. Bierbaum | 04/06/07
One Hour Today Owing to Automatic Update  mighetto | 04/11/07
Would a summary of your story be this?  D. W. Bierbaum | 04/06/07
Legacy code  Ed BurnetteZDNet Moderator | 04/06/07
Different uses, different strengths  super_J | 04/06/07
Well said  Ed BurnetteZDNet Moderator | 04/06/07
Huzzah!  mighetto | 04/11/07
AJAX is biggest competitor to Flash, not Java  kurt_cagle | 04/06/07
AJAX Issues  rdgrimes | 04/06/07
WRONG!  Onideus_Mad_Hatter | 04/06/07
Re: WRONG!  alflanagan | 04/09/07
Ummm...you do know you're COMPLETELY wrong, right?  Onideus_Mad_Hatter | 04/09/07
NO!  Update victim | 04/06/07
WRONG!  Onideus_Mad_Hatter | 04/06/07
Both are too tempermental  RShea78 | 04/06/07
This is a waste of electrons  s_p_morris@... | 04/06/07
Whats the big deal  axends13@... | 04/06/07
Doing the job Java started out to do  Ed BurnetteZDNet Moderator | 04/06/07
As a serious business ASP programmer, I agree  stanaland | 04/06/07
GUIs  Ed BurnetteZDNet Moderator | 04/06/07
Simple answer for me ...  Enorton42@... | 04/06/07
Java is free  hackmax@... | 04/07/07
Message has been deleted.  Onideus_Mad_Hatter | 04/07/07
Been using the Java platform professionally for 10 years now  hackmax@... | 04/07/07
If You've Been Using It For Web Development  Onideus_Mad_Hatter | 04/08/07
Guess you've never heard of Enterprise Java?  morgande | 04/09/07
Re: Guess you've never heard of Enterprise Java?  alflanagan | 04/09/07
Re: Guess you've never heard of Enterprise Java?  renegmed@... | 04/12/07
Uh Java Server Pages  mighetto | 04/11/07
HTML Is A Dying Language  Onideus_Mad_Hatter | 04/11/07
So if a comparable Flex solution was free...  terjeb@... | 04/12/07
Flash is a just a bit of tinsel  kurt@... | 04/07/07
Oh I Was Hopin For A Doorknob Like This  Onideus_Mad_Hatter | 04/08/07
Needs Rework for Multi Processor MultiCore  mighetto | 04/11/07
Why Not Use Both?  Onideus_Mad_Hatter | 04/11/07
Why not multiplatform Java XAML ?  aa6767@... | 04/11/07
FLASH IS A BLIGHT  proton_z | 04/07/07
That Is Not A Problem With Flash, But With The Developer  Onideus_Mad_Hatter | 04/08/07
Java codepath will be its demise  Suicida| | 04/08/07
Java good for back end, flash for UI.  kraterz | 04/08/07
Sun's Java Implementation Is Terrible  alflanagan | 04/09/07
Flash = good concept, poor implementation  suncatTR | 04/09/07
Message has been deleted.  Onideus_Mad_Hatter | 04/10/07
FUD  Robert Hahn | 04/12/07
There's Canoo's Java RIA library to consider...  sand13w | 04/10/07
Brilliant finally someone has the kahunas to pose this question  jimk_z | 04/11/07
ignorance is bliss  jimk_z | 04/11/07
Rather Id say java is a tortoise.  jimk_z | 04/11/07
Here's Some Examples  Onideus_Mad_Hatter | 04/11/07
and define why flash cant handle serious apps  jimk_z | 04/11/07
well said  jimk_z | 04/11/07
How could impact a language WPF-like, Java based?  aa6767@... | 04/11/07
Hot Media, GotoMyPC, Digital photography  mighetto | 04/11/07
Are you serious?  terjeb@... | 04/12/07
You really need to get out more  terjeb@... | 04/12/07
Java ME  castegere@... | 04/14/07
Some related Material on Flash and Java  online123 | 05/01/07
Correct URL for the above is  online123 | 05/04/07
What about Java Server Faces?  skalvi | 06/24/07
Re: JSF  Ed BurnetteZDNet Moderator | 06/25/07
RE: Is Flash better than Java?  ddog2 | 11/26/08
RE: Is Flash better than Java?  wandp | 09/04/09
RE: Is Flash better than Java?  winsonkoh | 11/14/09

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

advertisement
Click Here

Recent Entries

Archives

Favorite Links

ZDNet Blogs

White Papers, Webcasts, and Downloads

  • Smart Tech Expert advice on innovations in healthcare and the green technologies that make it happen. Find out more
  • Smart Business Discussion and advice on management issues that revolve around making your world smarter and more useful. More Smart Advice
  • Smart People The best and worst moves in the management and strategy trenches. Learn More