BEST GUI TOOLKITS for C++ | Sciber

In Software Development


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

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