tags:

views:

1036

answers:

5

I want to develop a photo browser application in Windows platfrom, the UI should be very cool and has 3D effects,Adobe AIR is a good engine as GUI, but I don't know how to integrate my C and C++ engines which I worte before into Adobe AIR, it seems the engine can't hold ActiveX? What can I do? Thanks.

+3  A: 

If you are windows only, something like WPF is probably a better option, since you will be able to leverge any old C/C++ libraries you have throuhg PInvoke.

Air is best suited to using data with web services.

Nate Bross
The WPF performance is really bad.
Yigang Wu
I have never had issues with the performance of WPF. I've run WPF apps on tricked out gaming rigs and netbooks and never had major issues.
Nate Bross
A: 

Adobe AIR and most other new RIA platforms like JavaFX, Silverlight, and Flex, are meant to be cross-platform platforms. That is, they should run on Macs and Linux as well as Windows. ActiveX won't work on those platforms, so you won't be able to reuse them there.

Alan McBee
A: 

Adobe AIR is not a GUI engine in a any way. It is rather a wrapper that enables applications to be installed on the system. GUI technologies that it can wrap around are: DHTML/Flash.

Sergey Ilinsky
That's not quite correct: AIR provides a version of WebKit for HTML content and a Flash runtime for Flash content. I would call that a GUI engine.
staticsan
OK, is Safari a rendering engine? No. WebKit? Yes. Is Firefox a rendering engine? No. Gecko? Yes. Is Interent Explorer a rendering engine? No. Trident? Yes. etc. A browser as well as AIR or Prism or everything else similar are pretty much simple applications of a rendering engine (that can draw HTML, SVG, MXML, XUL, XAML or something else) and an execution engine (that can run JavaScript, ActionScript, .Net langs etc).
Sergey Ilinsky
You're splitting hairs. You can write a GUI application that runs in AIR. Technically, yes, it is an application framework but for most people, that makes AIR a GUI engine.
staticsan
A: 

AIR is not an API engine in the same way DirectX is. It is a wholly-contained framework and execution environment within which AIR apps run. AIR apps must be written in JavaScript or ActionScript with HTML/CSS and/or Flash.

AIR's two advantages are:

  • Applications are developed along the same lines as websites with similar technlogy. Extensions are provided for things that local applications can do, like reading and writing files.
  • AIR applications are automatically cross-platform: Windows, MacOS and Linux. Develop on one, the same .air file will work on the others.
staticsan
A: 

Another way is to wrap your Flash content with your own written C++ application which will host your SWF application. Simply saying you just need to write OLE container which will load SWF content. There're a lot of techniques, the most common and interesting is: http://www.codeproject.com/KB/COM/flashcontrol.aspx

Cheers, dchrislee.

dchrislee