In Software Development
BEST GUI TOOLKITS for C++ | Sciber - read the full article about C++ 2021, Software Development and from Sciber on Qualified.One

Youtube Blogger

so a lot of you are thinking about which tools to use when developing C++ gui apps and if you watched my video about why you shouldnt choose C++ as your first choice when developing GUIs well youre already frustrated so let me guide you through a straightforward guideline so that you wont get lost in the sea of choices and get influenced by weird opinions from weird people like me after watching this video you will be able to look at each tool kit and choose what best suits you however Ill present my preferences along the way to guide you to a clear path if you cant really think of something that might suit you and by the way i want to clarify this as much as i can im not going to bore you with all the technical details since i am assuming you are a beginner to this subject i know you dont know much about graphics rendering and all that crazy stuff because if you did you would have to watch this video you can figure it out by yourself so dont go all crazy in the comment section blaming innocent me for not using technical words because i know how to say it all in simple terms now i want to start with the one ive been teaching in my channel for a long time now this is because it is one of the most popular ones out there for beginners however you can still use it to make professional apps as well its WinForms. oh that old deprecated technology is that what youre talking about yeah now i know right well you know the thing is i might have a little relationship with it and dont you dare try to destroy it so wind forms right whats the deal with it well winforms is one of the fastest and easiest ways to get into cpus plus gui programming you can design uis with the visual designer and all you have to worry about is the logic behind the call however you cant really use it to build fancy modern fluent uis with fancy animations and all of that well if you really try you can but im talking about the easiness but the point is it does the job for someone who is getting into the colorful gui world from the black and white console world and even since microsoft allows some sort of a doorway to the c# .net framework you get all the power from the .net framework and its cool libraries like the drawing and media libraries you know you can make yourself a little paint app or the media player and have some fun with it and the best part is you will be giving me more views if you get your hands on this because i got a lot of videos explaining various topics on winforms like simple elements like buttons and text boxes and even some fancy ones like designing modern looking uis and i even started a new series dedicated to making apps where we will be making better versions of the simple apps we find in our daily windows pc jokes aside i think winforms is pretty good for a beginner although i said it is deprecated in my other video i said it because when you become older and understand stuff you shouldnt be playing with that like a kid find something that suits your age okay and even since it is offered by microsoft and you are developing for the windows operating system wouldnt that be an ideal choice and if you want to give this a try you might need to download visual studio community edition which is a free ide and i already have a video dedicated to installing the correct workloads and setting up your first project as well which you can check out by clicking right here and again install the current edition because for others you have to pay and the committee edition is completely free now there are a lot of other GUI frameworks out there for c++ which are probably better than winforms and could offer more control over the gui elements but to get your hands on those you need to come to a certain age in your programming career oh i simply wont allow it you are grounded so i will start off with the most popular one out there QT now qut is a cool framework you can make a lot of cool stuff with it it is also one of the oldest frameworks out there meaning hes like a grandfather and hence he does know a lot QT is well documented and has a lot of libraries to perform a variety of tasks they have their own data types even and hence you might think that you will have to learn all of that all from the beginning well yeah you should but that is not as hard as you think you know i say this all the time learning new programming languages is not as hard as learning a verbal language besides QT also provides a drag and drop visual designer and also allows you to build robust native cross-platform applications so you can design apps and code the logic just like in winforms dont take my word for it a lot of companies all around the world are using qt you know how much of an amazing platform telegram is right well the apps are written using qt autodesk maya uses qt which is a 3d animation software so i think that one is pretty enough to explain how powerful qt is now the amazing part about QT is that you can just write one common card and QT will handle all the hard work and do its magic and compile the same app into different native apps targeting windows os android and linux i mean isnt that cool like all you have to do is maintain one codebase and the apps would look native in each platform i think that is an amazing feature to have in a gui framework because otherwise you will have to write separate native code for each and every platform you are targeting and man that is damn hard to do and maintaining that just creates a huge mess and thats why a lot of apps you find these days are just based on web frameworks and they dont care about the native look and feel anyways with great stuff comes sad stuff qt is not completely free it is free for open source projects and if you are using it for commercial projects you might need to purchase the license im just putting it out here just so you know or otherwise you will blame me for ruining your career i mean if youre a beginner you will be making open source stuff for the most part so that wont be that much of a problem and when youre making commercial apps the investment is worth it i would say and if youre hoping to hop into qt you would do so by using their own IDE or integrating it with visual studio now wouldnt it be nice if someone gave you a very mature framework with huge documentation and a lot of libraries to work with and all of that for free well guess what someone does that brings me to wxWidgets a rather boring looking yet easy to grasp robust gui framework for c++ i mean this is qt without the visual design stuff because this has almost everything that kod can offer you and double wxwidgets gives you all of it for free wxwidgets is very popular simply because it is open source on the other hand it is also a powerful cross-platform GUI toolkit that compiles your code into native applications for windows macos linux and android just like QT wxwidgets also has its own libraries for various stuff like multimedia networking graphics and much more plus wxwidgets is even more mature than QT however wxwidgets requires a little bit of learning when designing gui because it lacks the powerful visual designer but once you get used to it its quite powerful than other solutions i might say next you have microsofts very own uwp platform with C++/CX or C++/WinRT just forget all those fancy words this simply means a way that you can build the best looking apps using C++ with windows 11 uwp apps got a lot more exciting with modern looking controls animations and a lot more i mean you saw it all in those videos and probably the majority of you are using windows 11 right the look and feel of those apps are just amazing and the best part is you can do it too microsoft has nice documentation project samples and videos on this as well all you have to do is install the correct workloads in visual studio and hop into a project the only catch is that you will be developing apps that run on windows only just like in WinForms because other operating systems do not support uwp it is just microsofts future as they see it now if youre wondering what this uwp is it is the universal windows platform which is used in all sorts of windows based devices from pcs to xbox hololens and much more so if you want to get into the fancy microsoft world then this would be the ideal choice besides since windows is the most popular operating system out there if you can build amazing apps for it why bother going cross-platform you can still reach thousands of users just through windows i think the sacrifice you are making is worth it when it comes to uwp apps because this is the future of windows and also you can design ui with the visual designer and you can also design apps that have the translucent look thanks to the acrylic and mika materials if you want to get into uwp i will link microsofts documentation for now but i will make a tutorial for that as well in the future so stay tuned for that i also want to include embarcederos C++ builder which is a rapid application development ide for C++ a lot of developers out there use it however i havent really used it that much but i know it is pretty cool from what i have done with it it is essentially just like winforms but it is cross cross-platform and its pretty straightforward though it also doesnt have all that nonsense in Winforms where creating the project is just weird in itself i will not talk about it a lot simply because i dont have much hands-on experience with it it also has a community edition which is free other than the fully featured ide which is a paid software anyways it is a full package of design and development tools to help you build apps asap and it is also very straightforward use and next ill conclude all other frameworks since i dont think they are just simple and easy to use compared to the ones i mentioned earlier because the next few will be very useful in certain specific use cases and the above ones can be used in developing any kind of application so there are other frameworks like imgui and even graphics and multimedia frameworks like sfml and sdl but i think these ones are not for beginners these require a bit of a learning curve and they deal with a lot of low-level stuff as well and imgui is targeted to be used in 3d apps rather than general gui apps that you will be building as a beginner sdl and sfml are also similar although they are targeted to give you access to low level graphics bugs like working with pixels and stuff sfml is useful to use as a multimedia library rather than to be used in general gui apps then theres technologies like webview you can use these technologies to use web content inside a native wrapper meaning that you can embed a simple web browser inside a simple application and use web programming to bring gui into your preferred native platform the issues are you will be not designing native looking controls even though your application is cross platform you will not be using C++ for the gui which is not that much of an issue really you will have to have a little bit of web development knowledge and this method is not very recommended to build efficient apps that require a lot of system resources if you are using this you are better off using another language and just dump c++ but as a beginner its fine you should give it a try since most apps nowadays a bit like this and even microsoft teams is using webview too nevertheless it is one of the best ways to build modern gui with all the web capabilities and customize the gui the way you want it and do all of this faster than other solutions the only catch is that youll be working with an embedded web browser in your application all the time so i think thats a lot of info to digest and do you want to know what my recommendations are well before that you need to give me a huge like and leave a comment about your current programming status i think the first step should be winforms not because i have videos about it but because it is quite easy to get started although it is deprecated and no one really cares about it it is still a great starting point after spending some time with winforms you can try others too i would suggest wxwidgets than qt simply because it is open source and getting started is straightforward you can learn a lot of stuff by using it and you sure will fall in love with it while working with wxwidgets i suggest you look into webview too because it is faster to build apps that way then you should definitely look into uwp because it is a much modern approach to making apps for windows and theres nothing like it i mean you can try it even before using wxwidgets but i suggested wxwidgets first because you cant always make uwp apps for everything at least for now so do not get carried away with the coolness of uwp first try wxwidgets and get all the knowledge and get a good understanding about how gui works and it is also handy because with double switches you can build cross platform apps and with uwp you can now its easier to say than do right well you can be a programming genius in one day a week a month learning takes time everyones not a genius but training and learning can get you there over time there are a lot of others just like you so dont be afraid theres lots of people to help you i mean i sure have a lot to learn i learn a lot through your comments too i have no genius at all if you agree leave a comment and i can cry in the corner of my room also make sure to check out my videos on winforms if you are thinking about learning it i have detailed explanations tips on making better ui and even videos on how to make general purpose applications as well if you enjoyed this video please give this video a thumbs up and help share this video to everyone else struggling to find a way to get into gui programming with c++ also subscribe and hit the bell icon it would mean the world to me and not only that i can show up in your feed and notifications like the creepy little monster thank you guys for watching and i wish the best for you stay safe and ill see you in the next one bye for now
Sciber: BEST GUI TOOLKITS for C++ | Sciber - Software Development