Java – What’s all this business about Flash, Flex, Adobe Air, Java FX and Silverlight

airapache-flexflashjavafxsilverlight

What's all this business about Flash, Flex, Adobe Air, Java FX and Silverlight? Why would I choose one over the other? and what happened to Java Applets and ActiveX controls?

Oh, and where does AJAX fit in to all this? and is Laszlo relevant?

Afteredit (in response to some "d'uh" type answers): the question is a bit tongue-in-cheek. I know about the various RIA technologies. I am, however, interested in the StackOverflow community's opinion about each – particularly why you would use one over the other

Best Answer

Big topic and it would take pages to provide a full answer so here is the "short" version...

  1. Adobe Flex/AIR is by far the most mature RIA platform out there and it runs in FlashPlayer. You write apps using ActionScript (similar to Javascript) and MXML (markup used primarily for layout/view code). You can also deploy Flex applications easily to the desktop if the user has the AIR runtime installed.

  2. Silverlight is Microsoft's offering which is still quite a bit behind Flex but is rapidly gaining ground. The SL runtime is new and slowly gaining a larger install base. You can use C#, VB.NET or other languages supported by the .NET runtime. It runs on Windows and Mac but doesn't run on the desktop.

  3. JavaFX is a platform, API and scripting language for building RIA on the Java platform. It's the newest entry and just recently had its 1.0 release. It can run in the browser or the desktop and can leverage any and all Java code. Given how much open source Java code exists this can be pretty compelling.

AJAX / DHTML is primarily an alternative to these technologies, although since FP, SL and Java all have two-way Javascript APIs, you can write applications that use both and allow them to interoperate.

Related Topic