Choosing between WPF, wxWidgets, Win32 API and MFC

10,636

Solution 1

RAD Studio can also make the job

  • Enhanced in 2010! VCL (Visual Component Library) for rapidly building Microsoft Windows applications now includes seamless Windows 7 support, and graceful fallback compatibility with Windows Vista, XP, and 2000
  • Enhanced in 2010! Windows Vista and Windows 7 API headers to fully exploit the latest Windows capabilities
  • New in 2010! Support for Windows 7 Direct2D API

you can also make WPF with Delphi Prism and wxWidgets with twinforms

Solution 2

If you are comfortable with your C++ skills, I recommend WTL. It is very lightweight and results in lean machine code. The Windows version of Google Chrome was written with WTL.

Solution 3

To minimize development time and maximize performance I would definite go with Delphi 2010 (Rad Studio 2010). You get native execution, direct interfaces with Windows 7 Direct2D API, and arguably one of the best IDE/Development environments available on Windows 7. What else do you want?

Larry Drews TheSoftwareRonin

Solution 4

You might consider using Qt, even for a Windows-only app, simply because the Qt C++ API is so nicely done. Qt supports OpenGL and can be used in conjunction with DirectX.

Solution 5

In WPF, you can actually use DirectX Shaders to apply effects on interface objects, (here's a CodeProject article detailing development aspects) and it is expected that the support for this will continue to grow, so I would choose WPF as a development platform. Furthermore, it focuses on creating attractive user interfaces with a reasonable amout of effort, and I think this is quite important in building a Graphics oriented aplication.

Share:
10,636

Related videos on Youtube

Salv0
Author by

Salv0

Passionate leader and technology expert, currently focused on microservices architectures, cloud technologies, and scalability challenges. Starting my career as a Developer has given me the opportunity to work with many different tools, technologies, teams, and different stakeholders, refining my skills and learning new ones which determined my inclination toward more architectural and leadership roles. Currently, I express all my passion for these subjects through leading various projects and teams and by developing a technical roadmaps for startups, scale-ups and Enterprise clients....but never forgetting to get my hands dirty as well! Aside from work-related topics (because, yes, I can program and learn new subjects all day long!!) I love Crossfit, playing piano and (digital) drawing.

Updated on April 16, 2022

Comments

  • Salv0
    Salv0 about 2 years

    Imagine you are on Windows 7 and you have to write a GUI for a GRAPHIC application, (like a terrain editor, mesh viewer ..) which involves a great use of DirectX and OpenGL (so written in native C++). If your goal is a multi-platform software then you should go for wxWidgets, but imagine you're doing a Windows' only app...what would your choice be? and why?

    I'm supposing that the application would work on both XP and Vista/7 and obviously in the WPF case the UI will be managed, but it will call native functions by a C++/CLI proxy-like class ( will "bouncing" from managed-native and native-managed cause performance issues? ).

  • Idan K
    Idan K over 14 years
    not sure why this was down voted, it's a legitimate answer that wasn't suggested. +1
  • Nemanja Trifunovic
    Nemanja Trifunovic over 14 years
    @Dan - this simply wrong. WPF is definitelly not the best option for any new Windows app.
  • Bruce McGee
    Bruce McGee over 14 years
    The OP mentioned C++, so it's also worth pointing out that RAD Studio includes C++ Builder.
  • Moritz Beutel
    Moritz Beutel over 14 years
    Yes, that question seems to be calling for C++Builder and VCL. OpenGL is supported out-of-the-box, and DirectX libraries for C++Builder can be found at www.clootie.ru .
  • Royi
    Royi over 11 years
    Does QT use Direct2D and DirectWrite?
  • wingerse
    wingerse almost 8 years
    I've had horrible experiences with WPF rendering custom drawn objects using the visual layer. The delay is so noticeable. Same goes for Shapes and other UIElements.. So I guess WPF is really great for usual GUI stuff, but when it comes to rendering high performance stuff, there's no other way than go low level using interop..