C++/Qt vs Adobe AIR

Ankur Gupta picture Ankur Gupta · Nov 25, 2008 · Viewed 10.1k times · Source

I have to choose a platform for our product. I have to decide between The Qt Framework and Adobe's AIR. I am well versed with Qt as I have worked for the last two years. I looked up at the Adobe's site but all the info about flex, flash, ability to coding in HTML/ActionScript is overwhelming and confusing. I cannot understand the following about the Adobe ecosystem.

I have the following questions on Adobe AIR:

  1. What language do I use for coding my application? (not just defining the looks of UI)
    Like in Qt I use C++. Is it Actionscript?

  2. Can we say AIR is only for making UI's for apps.

  3. Where is the doc for the utility classes along with AIR?
    e.g. http://qt-project.org/doc/ for Qt

  4. Qt ships with a huge set of premade widgets that one can use. Does Adobe ship with any such widget set and if so where can i see it as in url?

  5. I understand flex SDK is open source. Can I make commerical apps and ship them ? Does flex SDK ship everything (compiler, utility classes/widgets)

  6. How much does AIR cost in terms of licensing?

  7. Is there something in AIR that is equivalent to QGraphicsView of QT?

Answer

taudep picture taudep · Nov 25, 2008

If you needs to access a lot of native libraries, you'll need to stay within your QT environment. Keep in mind that AIR is single-threaded and is run on the Flash Player (something that was originally designed for frame-based animations.) However, depending on the style of application you're building, AIR might suit you just fine.

Beware that AIR can get confusing because there's a few different developer paths to creating AIR applications: 1) using html/javascript and the AIR SDK, 2) using Flash/Actionscript and 3) using Flex SDK and/or Flex builder. The last one is the most capable as far as coming from traditional desktop development background.

Small apps that are Web 2.0 for hooking into web services are good candidates for AIR applications. Things like the IM client Digsby would be great. My favorite AIR app that I've seen thus far is Basamiq Mockups. Other useful apps are TweetDeck. These are good examples of the types of things that are well-suited to solve with AIR.

You should visit the Adobe Showcase and look at some applications: http://www.adobe.com/products/air/showcase/

Also, if you're looking to just get out of the C++ game, I believe QT has some java bindings now...also I remember some python bindings, but never look at those myself.

As far as QGraphicsView, people have done similar things in Flex. I tried Googling right now but couldn't find them initially, but people have taken things like A large image, and then only displayed a current region in the window. Also, in the next version of Flex, they're acutaly building an official ViewPort component:
http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Viewport