The debate over Java vs Flash has been going on for some time now. However as the products evolve the question itself is changing. It used to be “Which is best?” but these days it’s more reasonable to ask “Which do I need? or want? or prefer?”
Let’s begin with a quick recap of the basic features of each:
been around forever; available in many forms (script, compiled, etc).
typically does not require the user to pre-installed a plug-in.
particularly suited for creating interactive animations and combining animation with other Web page elements.
not particularly efficient use of graphic elements (bitmaps, etc).
applets are typically larger than Flash; longer downloads, longer load times.
scalable to any processor-driven platform (computers, cell phones, appliances, smart cards, etc)
requires a plug-in (designed and produced by Macromedia Inc.); plug-in must be updated intermittently.
supports a wider range of graphic elements (GIFs, fonts, etc) and features (opacity, etc).
highly efficient use of graphic elements (vector-graphics).
smaller, more self-contained files than Java; faster downloads, faster loading.
files will give far more reliable (animation) playback rates between different machines and browsers.
So, if you’re in the comparison game there are a few obvious differences:
Java is universally available and usable; Flash’s usability depends on the (admittedly broad) propogation of Macromedia’s Flash plug-in.
Flash produces smaller applets that load and download faster.
Java integrates easily with other web page elements; Flash less so.
Flash has a definate vector-graphics “look”; Java apps can look like whatever the designers choose.
Flash is much more self-contained and easy to deliver as a stand-alone (albeit plug-in dependent) applet; Java less so.
Java can be scaled to any platform that has a processor; Flash less so.
One point that’s been raised over and over …