Search code examples
javaqtaircross-platform

Cross-platform desktop development


I need an advice for cross-platform engine/framework for desktop PC application development (Windows, MAC, Linux). I see 3 possibilities, Qt, Java and Adobe AIR.

  • It must be easy to install (run-time is a drawback, but C++ wrapper and/or installer can solve the issue I think).
  • It must be fast and have a rich GUI (not 3D game, but definitely some 2D graphics).
  • The development environment must be easy to establish and the UI development tool must have drag&drop functionality to define application layout.
  • Target application must have native look and feel. The professional paid support should be available.

Solution

  • All of these criteria are met by Qt, with the exception of "native look and feel". There is no such thing as a cross-platform framework with native feel, especially on OS X, where users are very demanding about the "feel" of applications. If you really want native look and feel, you are best served by writing a shared framework in C++ or C# and then providing native GUI on each platform (you can use MonoMac to provide a native Cocoa UI using C# instead of the native Objective-C, if that's your cup of tea).

    That said, we've been very happy with Qt (and the Commercial support) for cross-platform development. Particularly the new OpenGL accelerated 2D Scene API makes animated UIs quite easy. QtCreator is a decent IDE with visual designer support.