Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this questionI am quite confused about
1) the difference between a GUI and API 2) Where to learn to make my own GUI/API 3) What all the premade GUI/API's there are
My goal is to learn how to make actual programs instead of just using console and yes, I would like a solution for doing this on Mac OS X (preferably cross-platform). Please help! IF you are confused by what I need to know, leave a comment.
P.S. How would I turn a console game into an actual 2D game (I know its not easy).
GUI stands for Graphical User Interface, while API stands for Application Programming Interface.
It is common in programming terminology reusable libraries are called as API. I assume by GUI/API you mean an API that allows you to create GUI based applications. For example Swing is Java API for creating GUI.
For C++ there are many libraries which allow you to make GUI applications. Most notable, open source and cross platforms ones are:
GTK+ http://www.gtk.org/
Qt http://qt-project.org
wxWidgets http://www.wxwidgets.org/
There are quite a few others.
If you want to create your own GUI API which is cross platform, then you should study the above libraries. But let me warn you, creating a UI library is a huge task!
An API is a library of code that someone else has written, from which you can use their functions in your own program so that you don't have to write everything from scratch.
A GUI is a type of interface to a program. It lets you click on buttons and select items from lists with the mouse, as opposed to typing in commands on a keyboard to make the program do things.
These aren't comparable concepts.
A console application is a real one that for many people gets work done every day, all day, in millions of places across the world. If you fail to do your homework writing console applications, you'll never be able to make a "real program". You might end up a web application developer like me though. So do your homework.
You might want to try Qt, which is a cross-platform GUI SDK. It is what I learning right now and I have lots of fun with it.
Qt Cross-platform application and UI framework
For simple 2D games, instead of a GUI framework, you might want to try SDL instead.
精彩评论