tags:

views:

112

answers:

2

The Adobe Air introductory documentation and samples seem to separate Air development into 3 different categories:

  • HTML/Ajax
  • Flash
  • Flex

I've read the tutorials and examined some of the code, but I'm not totally clear what the differences between them are, and more importantly why you would choose one approach over the other. Sorry for asking such a basic question (please bear in mind I come from a Windows development background).

A: 

I haven't used Flex myself, but I know that you can use it to interact with HTML elements, rather than providing the interface itself via Flash. I'm not clear on what Flash vs. Flex is though.

Wahnfrieden
Flex is somehow Adobes JavaScript. Flash is ActionScript. I think that should explain it.
usoban
Doesn't Flex use ActionScript, and isn't it just ECMAScript, which JavaScript is too?
Wahnfrieden
+1  A: 

I will answer this myself since I've done the research. Here's a summary:

  • HTML/Ajax, Flash, and Flex are different approaches to developing web apps. These technologies can be combined in a single web app.

  • Adobe AIR is a runtime which allows you to take those web technologies and run them as a desktop app instead of in the browser. You can combine them in the same app.

  • Flash is a runtime that was originally created to provide a rich UI to browser based apps. AIR brings the Flash runtime to desktop apps.

  • Flash runs compiled SWF files and is scripted via ActionScript. Flex is a tool (SDK, MXML schema for defining UI, etc), which makes it easier to create apps that run on the Flash runtime (it generates SWF files).

Further details see: Adobe AIR FAQ, Adobe AIR (Wikipedia), Adobe Flash (Wikipedia), Adobe Flex (Wikipedia).

As for deciding which approach(es) should be used when developing for AIR, I think that should be based on the experience and preferences of the developers working on it. I don't think Adobe gives any guidance here, because their goal is simply to provide the same options for desktop developers that web developers already have.

DSO

related questions