Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's all this business about Flash, Flex, Adobe Air, Java FX and Silverlight?

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

like image 339
Vihung Avatar asked Dec 30 '08 14:12

Vihung


2 Answers

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.

like image 120
cliff.meyers Avatar answered Nov 15 '22 21:11

cliff.meyers


Flash/Flex, JavaFX, and Silverlight are tools for developing rich internet applications (RIA). You're probably very familiar with Flash applications, which are frequently full of animation and other effects. JavaFX and Silverlight let you develop similar applications. Laszlo fits into the same picture.

Silverlight is Microsoft's entry, and it is designed to work in the .NET stack. JavaFX is Sun's new offering, and it is designed to work with the Java Virtual Machine. To oversimplify Adobe AIR, it is an attempt to get RIA content to run seamlessly on the desktop (JavaFX provides this as well).

Applets haven't gone away, they just suffered from a bad implementation of the JVM in web browsers. JavaFX is the new heir to applets.

AJAX is very different; AJAX is a way to use a browser's existing capabilities, without plugins, to provide seemingly rich and interactive webpages. It uses JavaScript and XML. While some AJAX applications are undeniably cool, it is not as easy or as natural to develop Flash-style RIAs.

like image 28
David Koelle Avatar answered Nov 15 '22 20:11

David Koelle