Education logo

3 GUI projects for learning a language

GUIs for all languages

By Jesse GuerreroPublished 9 months ago 3 min read
Like

I am a fan of Graphical User Interfaces(GUI). They exist as different libraries, Tkinter for Python, Swing for Java and WPF (Windows Presentation Foundation) for C#.

Most general programming languages have libraries for it. GUIs are universal and you will find some libraries are better than others for different things. As an entry point they are an excellent way to learn a language. You can put together several technologies with a GUI, getting creative and learning at the same time.

Imagine having a rendering engine inside of a GUI with ImGui and Vulkan in C++ or an API getter in Java Spring using HTTP or Python Tkinter using AWS SDK/CDK to launch remote cloud. Using things together with GUI makes them come alive in very helpful ways. Sometimes we just need ideas.

To get you started here are some projects to try out, along with some hints to clarify conditions.

Count down timer

A simple count down timer. You can add an input field to determine timing or just define it as a constant in the source. This is perfect if you are completely new to the language.

This exercise will also give you insight as to what the limitations of the library can become. For example, you may find most C++ GUI libraries to be too specialized for specific topics. Qt appears to be for apps requiring some type of programmable form for each app. This feature is beyond the scope of what a beginner wants.

Another example would be ImGUI. It is just meant for including a rendering window and may not fit the needs of a beginner, though very cool.

An actual positive example would be Java Swing. Swing is amazing for beginners and is super sleek & simple to use. You should find its a great first time GUI library.

Short pictured choice game

In the past whole books were dedicated as “Choose your own adventure”. From this pictured choice game you would essentially make these books as a GUI.

For this project you simply need a picture and 5 buttons under it. You simply give choices based on the picture and it leads to other pictures. You can even add sound and music.

As for picture sources I would recommend an art AI generator and perhaps a sound track from your favorite video game.

This is especially good after already having some time with the language/GUI and you want to learn deeper knowledge.

GUI API getter

The first thing to do would be to search for an API that is free and open. I personally love the Darkan API for a private game server as the URLs don’t require a password.

Usually it is a JSON response. You can take a glance at what an API request looks like here: https://darkan.org:8443/v1/players/Jawarrior1

The key issue here is formatting the response in some meaningful way. For example if I were to see the inventory on that player JSON on Darkan I would need some way to organize it in the GUI.

This organization of the JSON requires a lot of logical thinking and is a step up from a "make your own adventure". In addition, you can pick incremental APIs. Over the long term its a good idea to pick more and more difficult APIs to implement programmatically from the JSON responses.

An additional remark

It is a good thing to try new things but it is also important to increment your learning and know your current limitations. Often, we need some type of assistance in finding ideas that fit between what we can learn and what is our limit.

student
Like

About the Creator

Jesse Guerrero

Christian, programmer, Runescape lover and avid learner.

Support me at buymeacoffee.com

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights

Comments

Jesse Guerrero is not accepting comments at the moment

Want to show your support? Send them a one-off tip.

Find us on social media

Miscellaneous links

  • Explore
  • Contact
  • Privacy Policy
  • Terms of Use
  • Support

© 2024 Creatd, Inc. All Rights Reserved.