Back in the days of floppy disks and record players, computer terminals ruled over. Programs made to run in the terminal are not very intuitive or user-friendly. Now, however, with the rise of the mouse and much faster computers, GUIs (Graphical User Interfaces) have become the new norm.
Creating a program with a UI is a much more involved process than creating a terminal application. The result is, however, a program that is far more user-friendly and easy to navigate. Despite having a background with web design and development, I have always been interested in the design and development of native UI’s. There are multiple ways to create user interfaces depending on the operating system that you are developing for and the programming language you are using.
Python
Tkinter
Probably the first thing that comes to the mind of a novice programmer when the topic of GUI’s comes up. That is not at all surprising, given it’s very simple to learn syntax and has small overhead. However, Tkinter is horribly old, with its first release being in 1991. Due to this, by default, it does reek of Windows 9.x. Still, this doesn’t stop many from using and loving it for its simplicity.
Kivy
Kivy will not likely be your first choice when developing a GUI application with Python. However, it stands out from the crowd by being one of the only cross-platform GUI libraries for Python designed with mobile/touch devices in mind.
C++
C++ with the Microsoft .Net framework is a perfect duo. If you are developing for Windows, it’s a no-brainer. C++ is a highly powerful and performant language that can be used for many purposes.
In the future, I would love to see more cross-platform libraries for building UIs that are not web-based. There is nothing like the feeling of a well-built native app.
Leave a Reply