Tobias Kaiser
A Computer Engineer's Projects and Ideas
Back to Home Page

March 20, 2017

My GUI toolkit choice for desktop applications in 2017

This is not an attempt to provide an exhaustive list or detailed comparison of all graphical user interface toolkits (what is a GUI toolkit?) that are available. It's the result of my experience as a user and developer, research, and my personal (emotional) opinion about a few graphical user interface toolkits that are out there. As I am planning to write a password manager desktop application soon, this list will remind me how I chose the GUI toolkit. It could also be of help to other developers who face the same problem and want an outside opinion.

My requirements:

My requirements of the stable code base and large user base also ruled out many experimental bindings of popular GUI toolkits to various programming languages. For many people their favorite programming environment might already suggest a certain GUI toolkit. As a fan of Python and GNOME, my default choice for GUI applications in the past was Python and PyGTK in the past. Further down you can see what I disliked about that.

1. Place: wxWidgets

Website: www.wxwidgets.org
Language support: C++, Python, others

Pros:

Cons:

2. Place: Electron

Website: electron.atom.io
Language support: JavaScript

Pros:

Cons:

3. Place: Tk

Website: www.tcl.tk
Language support: Tcl, Python (Tkinter), others

Pros:

Cons:

4. Place: Qt

Website: www.qt.io
Language support: C++, others

Pros:

Cons:

5. Place: GTK

Language support: C, C++, others
Website: www.gtk.org

Pros:

Cons:

6. Place: Swing

Language support: Java
Website: www.oracle.com

Pros:

Cons:

Other toolkits

To get a full picture of what GUI toolkits are out there, there is a list of widget toolkits on Wikipedia. There are a few lightweight toolkits such as the Fox Toolkit and FLTK that I find nice, but they are not used by a lot of applications, so I left them out here.

Comments

comments powered by Disqus