Difference between Adobe AIR and FLEX?
Asked Answered
S

9

34

What is the difference between Adobe AIR and FLEX?

Supportive answered 5/2, 2009 at 12:51 Comment(2)
adobe.com/products/air/comparisonRegrate
the above link is dead :-(Letendre
S
32

The "Flex Framework" is a collection of AS3 classes and components used in developing RIAs.

"Flex Builder" is an IDE used to develop "Flex Applications."

Much in the same way HTML is a collection of tags to develop web pages and Dreamweaver is an IDE for developing web pages. However you don't need Dreamweaver, you can use Notepad, BBEdit, etc. as well.

If you use something other than Flex Builder to develop in Flex, you need to download the Flex SDK to compile. The end result of a compiled Flex Application is an SWF file (Same as Flash).

With the compiled SWF file, a user only needs to have Flash Player installed to run the application.

Most Flex apps are developed, deployed to a server and then a web browser is used to serve the application to the user for use.

I haven't used AIR yet so I don't know what the end product of a compliled AIR Application is, but AIR is an alternative delivery system for Flex Applications, replacing the web server and browser so to speak. It's primary purpose is for deploying RIAs to a user's desktop, independant of an internet connection.

AIR, also allows for the use of HTML, AJAX etc. So an AIR Application could be a collection of all these things, compiled together.

To run an AIR Application, you need AIR Runtime installed on your computer.

Source

Smokejumper answered 5/2, 2009 at 13:2 Comment(2)
The above was my understanding but I thought I'd check up on it. Found that and couldn't really improve on what it said so blockquote ftw!Smokejumper
For those who don't know what RIA means (like I did), it stands for Rich Internet ApplicationHolter
Z
17

AIR is not a superset of Flex.

Adobe AIR is essentially Webkit, Flash, Javascript, Flex, XHTML, CSS, sqlLite.

The applications for air are primarily developed in ECMA. (Actionscript/Javascript). Most AIR applications out and about in the world right now consist of Javascript, xhtml, images, and sqllite.

The Actionscript engine has been extended for AIR to support disk IO and other 'local' system functionality. This allows your application to act just like a normal system application. Although most people are storing their data in sqlLite and rarely write to disk for anything other than logging. (From what I've noticed/read)

Regardless, there isn't a ton of Flex going on in AIR or the AIR community. From what I've noticed its a lot of Javascript/Flash/XHTML people making small apps that run on multi-os through the AIR runtime.

Zucker answered 5/2, 2009 at 14:26 Comment(4)
Indeed it is, conceptually. Technically, one could quibble with that statement, but the OP's question is broad, so my intent was to distinguish between them in broader terms. The AIR runtime does indeed extend the capabilities Flex framework, which itself extends the ActionScript language. No?Pedestal
Thats correct. However to say that AIR is a superset of just flex is a bit off. Most AIR applications that are out in the wild contain no Flex whatsoever. They mainly consist of Webkit capable content + flash hooks. Not that there aren't many flex based AIR apps.Zucker
To be fair, we're all "a bit off"; books have been written on this subject. :) I also haven't seen stats on what "most AIR applications in the wild" means, but the conferences I've been to suggest there's a good deal of Flex code being delivered by the AIR runtime. We're splitting hairs I think. ;)Pedestal
I'm working on a desktop app that uses lots of Flex. We host it in an MFC frame on Windows, Air on Mac.Kolnos
P
8

I'd add to Garry's (excellent!) answer by saying it sort of depends on what you're asking. There are conceptual differences and specific differences. Garry's answer details a handful of the specifics.

Conceptually, though, AIR is a superset of Flex, and Flex is a superset of Flash.

A Flash-authored SWF generally (though not always -- but most of the time) runs in a Web browser and is composed of ActionScript code. A Flex-authored SWF also runs in a Web browser (or again, some comparable container) and is composed of ActionScript code, but usually also takes advantage of the Flex framework, which is essentially a bunch of ActionScript classes provided by Adobe to assist developers in building more feature-rich Flash-based applications. AIR, finally, is Flex running on the desktop -- it's Flash-plus-Flex, plus some additional desktop-oriented facilities that allow SWFs authored in either Flash or Flex to be installed and run as desktop applications.

Pedestal answered 5/2, 2009 at 14:4 Comment(0)
P
4

Excellent posts. As a side note, I'd like to add that unlike Flex/Flash SWFs, AIR SWFs cannot, and I repeat, can not be played in a browser. AIR SWFs need their own little sandboxes to run in (that the run time provides).

Poundfoolish answered 16/2, 2009 at 6:9 Comment(0)
R
3

There are two runtime Flash Platforms one is Flash Player and other Adobe AIR(Adobe Integrated Runtime). Adobe Flash Player is a highly expressive cross-platform runtime that works across all the browsers which have the Flay Player plugin. Flash Player delivers the SWF files that runs within the browser, while AIR delivers the .air standalone applications that run on desktop outside the browsers. You can find more details about AIR & Flash from here: http://readymadeflash.com/blogs/what-is-the-difference-between-adobe-AIR-and-flash.html

Remains answered 20/1, 2011 at 16:59 Comment(0)
C
2

I was under the impression porting flex to air was simple => http://forums.adobe.com/message/2887004

My understanding is that in theory your app should work with only one real change required. Of course now I have to test this theory...

I would be very exicted if I could retain all of the power of flex, and then gain the HTML Control and the Update Framework since thats all flex is really missing to be all powerful.

Off to experiment.

Chorizo answered 22/11, 2010 at 3:46 Comment(0)
I
2

To understand Flex and Air you need to understand the whole Adobe Flash Platform. Flash is overloaded to mean many things, the Flash platform, the runtime, the runtime API, and the IDE.

Adobe Flash Platform - a broad term that includes everything else

Runtimes:
Adobe Flash Player - the plugin you install on web browser, supports Flash API
Adobe Air Runtime - another plugin you install run as desktop application, supports Air API (a superset of Flash API)

APIs:
ActionScript - backend with either Flash API or Air API, you can choose which API to compile your application with, and it will run on respective runtime. AS works with both Flash UI or Flex UI
UI - Flash component (proprietary fla format) or Flex Framework (XML based)

IDEs:
Adobe Flash Pro (CS4/5/6/CC) - work with Flash projects
Flash Builder - work with Flex projects

Irresponsive answered 19/4, 2015 at 6:33 Comment(0)
S
1

Flex is a framework that is used to render content on Flash player, mostly for Enterprise Applications. AIR is a runtime which wraps flex, flash and/or html in a package that can be accessed on a desktop without the use of browser, so that a user can get desktop (like accessing directories, interacting with system chrome, etc...) in addition to giving the user the web feeling (accessing http requests, rendering html, calling web services, etc...).

Standice answered 25/9, 2012 at 21:26 Comment(0)
W
0

This is a good comparison thread! I've just built a series of AIR apps for several museum installs. AIR apps are just that...Standalone, compiled and optimized applications, wrapped in it's own installer. It's a rather versatile wrapper in that it will compile a bevy of codes, if you play your cards right. You could essentially build a website, and then crush it all into a desktop application. Because it runs locally, it also has the ability to bypass Flash's security protocols (something I'm not sure Flex is capable of). This allows you to access a whole different level of functionality when it comes to seamlessly linking apps, displays, input/output, etc.

Thusly, you can wrap FLEX builds within an AIR app... Adobes AIR dev center breaks everything down pretty thoroughly, and be sure to read through the adobe livedocs as well!

http://www.adobe.com/devnet/air.html

http://livedocs.adobe.com/flex/3/html/help.html?content=Part5_AIR_1.html

Williamson answered 29/5, 2012 at 17:0 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.