I am trying to build a desktop application that draws geometrical shapes and controls them dynamically. I wanna know the best beginner friendly tool to do that. Is SFML prefered?
Assuming your language is C++ and you want to write a cross-platform application with 2D graphics, then the simplest way would be to use SFML. It's easy to learn and you will see results quickly.
However, if you want to add a complex user interface, you'd have to do a lot of manual work with SFML, so Qt might be preferable. Qt, however, is a monster! It will take you a lot more time to wrap your head around the concepts and QML language, though later on it will be a breeze.
Since you also have OpenGL in your tags, let me make a comment about that one, too. It's very low-level, which means it will take you a lot of time to understand it and see results. If your intent is to just throw visuals on a screen and not create a new rendering engine, stay clear of OpenGL. SFML is a renderer abstraction above OpenGL, hiding all the complex stuff for your convenience.
One alternative to SFML, which deserves to be mentioned, is SDL, which is used by quite many (old) AAA games. In my experience, however, SFML is easier to learn and use.
Marco Alka
Software Engineer, Technical Consultant & Mentor
Assuming your language is C++ and you want to write a cross-platform application with 2D graphics, then the simplest way would be to use SFML. It's easy to learn and you will see results quickly.
However, if you want to add a complex user interface, you'd have to do a lot of manual work with SFML, so Qt might be preferable. Qt, however, is a monster! It will take you a lot more time to wrap your head around the concepts and QML language, though later on it will be a breeze.
Since you also have OpenGL in your tags, let me make a comment about that one, too. It's very low-level, which means it will take you a lot of time to understand it and see results. If your intent is to just throw visuals on a screen and not create a new rendering engine, stay clear of OpenGL. SFML is a renderer abstraction above OpenGL, hiding all the complex stuff for your convenience.
One alternative to SFML, which deserves to be mentioned, is SDL, which is used by quite many (old) AAA games. In my experience, however, SFML is easier to learn and use.