R – Should I use the Flex or Air SDK to develop an Air app

airapache-flex

I want to develop an Adobe air application. Whats the difference between using the Air SDK or Flex SDK and what are the advantages / disadvantages? My application will use a SQLlite database and PHP may be involved later if I turn the whole thing into a web app.

thanks

Best Answer

"If you want to develop an Air application, you must use the Air SDK. If you want to develop a Flex application that runs on Air, you need to use both." - @joshtnjala

I believe @joshtnjala to be partially correct, but I wanted to add on it. If using the Flex 3.3 SDK, you no longer require the AIR SDK as those tools are available to the Flex 3.3 SDK. It is important to note, because I see a lot of confusion or misuse of the term, Flex is actually three things.

  • Flex SDK (currently 3.3)

    allows developers without the Flash and/or Flex IDE's, to develop and compile/publish Actionscript3 and MXML code to flash content (SWF). For example, one could use FlashDevelop for an IDE, and compile the code using the Flex 3.3 SDK.

  • Flex Framework

    (From adobe [http://www.adobe.com/products/flex/overview/][1]) Flex is a free, open source framework for building highly interactive, expressive web applications that deploy consistently on all major browsers, desktops, and operating systems. It provides a modern, standards-based language and programming model that supports common design patterns. MXML, a declarative XML-based language, is used to describe UI layout and behaviors, and ActionScript™ 3, a powerful object-oriented programming language, is used to create client logic. Flex also includes a rich component library with more than 100 proven, extensible UI components for creating rich Internet applications (RIAs), as well as an interactive Flex application debugger.

  • Flex Builder 3

    Flex Builder is merely an IDE to assist in the development of flash (SWF), or AIR content. This builder utilizes the SDK above to compile. The framework may or may not be used depending on the developers needs. Many developers have taken themselves out of the FLASH IDE (THAT NASTY TIMELINE!) and began scripting their AS3 purely in the Flex Builder IDE as it provides many useful features for the "advanced" programmer; Not to mention its a very clean UI and is built on eclipse so it has many plugins and a solid community behind its architecture.

That being said, to expand on what joshtnala said, the difference between using the AIR SKD and the Flex 3.3 SDK, is that if you merely want to build an AIR app, composed of Actiosncript3 code, the AIR SDK is all you need (33mb unpacked). If you intend to use MXML and any part of the "Flex Framework" then you must use the Flex 3.3 SDK (190mb unpacked). This will allow you to use the many available components such as Datagrids, Accordions, etc, in your AIR application. So in the end, both will develop an AIR application as Flex 3.3 SDK incorporates the AIR 1.5 development tools. Abstract your project out, figure out what you will need, if a component works for that, or if a custom implementation is needed, etc, then choose your toolkit.

Hope this helps.

Related Topic