I have a pretty good knowledge of programming languages like C/C++, Java, Python. But they were all mostly learnt in a college / high school class room setting where the best user interface was a numbered menu. You know, the standard data structures, implementation of various algorithms, file handling and the like.
What I want to do now is to get into GUI programming. I am not sure if I am asking the right way, but I am looking at using the WIMP paradigm (windows icons menus pointers). I want to place buttons and forms. Event driven programming, I believe is the right word, where my application waits till the user clicks something, types something etc.
Given my background, where would be a good place to start? I am looking at the following requirements -
1> Preferably cross platform. 2> Lots of documentations, tutorials, and if possible sample code that I can learn off of 3> A good GUI builder tool, where I can drag / drop stuff the way I want them to be displayed.
Any ideas or suggestions to get me started?
Java's Swing API is cross platform and relatively simple, and NetBeans is a good GUI builder. Show activity on this post. Netbeans is cross platform, and while it is centered towards Java developers, you can easily install addons to work with C/C++, Ruby, etc.
Unlike a command-line operating system or CUI, like Unix or MS-DOS, GUI operating systems are easier to learn and use because commands do not need to be memorized. Additionally, users do not need to know any programming languages.
To create a custom GUI program you basically do five things: Create instances of the widgets you want in your interface. Define the layout of the widgets (i.e., the location and size of each widget). Create functions that will perform your desired actions on user generated events.
Java seems to have the best built in support for GUI programming, however, C++ using the MFC libraries has more than adequate tools for GUI development and may be a better choice when speed and efficiency are important.
I'l try the book About face: Essential of User Interface Design, its centered on design practices for UI as well as designing taking into account the user goals, that is, what the user wants to acomplish trying to get you away for the "developer GUI design".
It also reviews some history about GUI design from Microsoft, Apple and other companys. Things like defaults for MacOsX (where the accept and cancel buttons are usually located, etc) as well and the whys beneath that.
I'll also look up the Office 2007 UI Design Guidelines for Microsoft as it's probably "gonna be a thing".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With