views:

153

answers:

4

I've read about each of these but I still don't understand how they all inter-operate, which are competing technologies, or even really what each of them is distinctly.

Flash, Air, Flex... Are these all "containers"/JVM-like runtime environments, in which ActionScript code runs?

SWF,FLV,AIR... Are these competing file formats which a Flash, Air or Flex runtime environment executes?

ActionScript is a C-like language which compiles to SWF, FLV or AIR files?

Sorry, with all the marketing around these terms, some of which are used interchangeably, I am quite lost. Suppose I wanted to write an AIR application... what would that entail? Writing ActionScript, compiling it to a SWF, and then installing the AIR runtime to execute it? How's that different than Flash?

If I want to play AIR applications do I need a separate AIR runtime or does Flash execute AIR apps?

A: 

Flex is programming environment to develop Flash application

Flash is the technology that consists of Flash Player and format and allows rich functionality in a web browser

Air is Flash technology and allows to run Flash application in out of browser mode, so it looks like regular Windows or Mac application

ActionScript - is programming language used to create Flash applications

SWF - is compiled Flash binary

FLV - is video stream format based on flash

IMHO
-1 because Flex is NOT a programming environment. Flex is a framework. Flex Builder (now renamed "Flash Builder") is the programming environment (the "IDE", technically) that adobe provides to develop Flash Platform Applications using (or not using) the Flex Framework.
Myk
Dude, the reason I called it programming environment is because it seemed the guy who asked question is not technical. I didn't mean IDE, I meant the environment - which includes the framework, IDE to actually code, testing facilities, libraries. Your understanding of programming environment is very narrow.
IMHO
I agree w/ the original commenter. -1. Flex might be better stated as being a SDK / Software Development kit that includes a User Interface Framework.
www.Flextras.com
+6  A: 

Flex is not a programming environment. You are confusing that with the flex builder IDE.

Flex is a SDK/framework and set of components for building flash based rich applications. It also allows you to use an XML type markup called MXML to write your apps. But at the end of the day it compiles to a .swf regardless.

Flash is the product or technology used to run .swf files.

SWF files are the runnable binary flash files that are run from either a browser plugin, the standalone flash player or within a desktop AIR container.

AIR Does not only allow you to run flash applications on the desktop, it's a cross browser container format that allows you to creat desktop apps accessing features of the OS from within. AIR apps can be written in HTML and JavaScript as well as actionscript/flash.

Actionscript is the language that flash applications are written in and is based on ECMAScript and only compiles to the .swf binary.

FLV is a proprietary flash video format.

WillyCornbread
Note: you can compile .swc libraries from flash as well but these are not directly runnable, more like a .dll
WillyCornbread
I'd clarify this to say "The Flash Player is the product or technology used to run .swf files". I might add that the "Flash Platform" is adobe's catch all terms for technologies / products that help you build or deploy swf files.
www.Flextras.com
+1  A: 
  • Flex: Flex is a framework for create RIA (Rich Internet Applications.) [It is somehow like Symphony/Zend is to PHP or JQuery is to JavaScript.]
  • Flash: Is a editor / IDE to create movieclips that could be played by the FlashPlayer, but there are also other options to create movies.
  • FlashPlayer: Is runtime to play swf movies. Usually swf movies are embedded in a HTML page and the FlashPlayer is started by the browser as a plugin.
  • Air: A runtime to use web technologies to create application that are running not within a browser. It supports Flash movies, HTML, JavaScript, CSS, ...
  • ActionScript: A programming language for to create Flash movies. It could be used within Flex or the Flash-IDE. ActionScript could never be executed directly, it always needs to be compiled.
  • SWF: The binary fileformat for flashmovies.
  • SWC: Is a binary compiled library.
  • FLV: A container file format for sound and videos.
Hippo
Isn't this the exact same answer I posted 9 hours ago?
WillyCornbread
There are a few small differences. E.g.: I think Flash and the FlashPlayer are 2 really different things and not every swf is created using technologies from Adobe. Also flv could contain only a soundstream.
Hippo
In this answer, I would change "Flash" to "Flash Professional". Flash is, unfortunately, a catch all term. Flash PRofessional is the actual IDE.
www.Flextras.com
A: 

The term "Flash" is often used ambiguously and can refer equally to software used to make and/or playback .swf (Flash executable) files, as well as the .swf content itself. Adobe's .swf development tools (like Flash Pro CS5) and its Flash player are far and away the most popular, although many open source and third-party alternatives also exist.

Flex is a set of development tools geared towards building web applications (as opposed to content) targeting the Flash player . It is available as an open source kit which includes many reusable components, a markup language known as mxml, and a .swf compiler.

Adobe's Flash player is available as both a browser plug-in, and as a locally installed desktop version known as AIR (Adobe Integrated Run-time).

ActionScript is the programming language of Flash, executed by the ActionScript Virtual Machine (AVM) within the Flash player. In its current version, ActionScript 3 is a fully OOP coding language VERY similar to Java.

FLV is a popular video container format used by the Flash player to deliver video on the web.