Which is the best library to implement GUI in C++?

There are several different ways to do this –
1. Platform specific – they work very well for the platform that they are tied to –
2.
1. MFC – feature rich, easy to bypass and go straight to the Win32 API when you need it. Only works on Windows.
2. Cocoa -again – extremely feature rich – only available / works on Mac

3. Cross Platform – these typically cover several platforms and they usually offer a subset of what each platform has.
4.
1. QT – the grand daddy of them all. It is a complete programming environment. Works on pretty much every single platform that you can think of.
2. wxWidgets – a more traditional desktop library. It is inspired to a certain extent by MFC – works on the Mac, Linux and Windows
3. JUCE – little light weight compared to QT. But code quality is excellent.
4. CEF (chromiumembedded / cef – Bitbucket ) – the Chromium Embedded Framework. It wraps the Chromium browser and offers it as a library. So you can write your app in HTML5/JS and just render it inside CEF. Pretty exciting – Evernote uses this, so does Avast. You can create really slick UIs in very little time! And the best part – it is trivial to integrate C++ and Javascript code.

So – if I were going to write a GUI today for desktops (Mac / Windows / Linux) – I would go for CEF. The look and feel can be way superior to any other native library, and I wont need to learn OpenGL / DirectX/ WPF etc to achieve stunning visual effects.
P.S. There are several other excellent libraries out there. I've just mentioned the ones that I am familiar with.

Answer by Raghupathy Srinivasan:

There are several different ways to do this –
  1. Platform specific – they work very well for the platform that they are tied to –
  1. MFC – feature rich, easy to bypass and go straight to the Win32 API when you need it. Only works on Windows.
  2. Cocoa -again – extremely feature rich – only available / works on Mac
  • Cross Platform – these typically cover several platforms and they usually offer a subset of what each platform has.
    1. QT – the grand daddy of them all. It is a complete programming environment. Works on pretty much every single platform that you can think of.
    2. wxWidgets – a more traditional desktop library. It is inspired to a certain extent by MFC – works on the Mac, Linux and Windows
    3. JUCE – little light weight compared to QT. But code quality is excellent.
    4. CEF (chromiumembedded / cef – Bitbucket ) – the Chromium Embedded Framework. It wraps the Chromium browser and offers it as a library. So you can write your app in HTML5/JS and just render it inside CEF. Pretty exciting – Evernote uses this, so does Avast. You can create really slick UIs in very little time! And the best part – it is trivial to integrate C++ and Javascript code.
    So – if I were going to write a GUI today for desktops (Mac / Windows / Linux) – I would go for CEF. The look and feel can be way superior to any other native library, and I wont need to learn OpenGL / DirectX/ WPF etc to achieve stunning visual effects.
    P.S. There are several other excellent libraries out there. I've just mentioned the ones that I am familiar with.

    Which is the best library to implement GUI in C++?

    Advertisements

    Leave a comment

    Filed under Life

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s