Qt 6 Core Advanced with C++
This is not a beginners course!
This is an advanced Qt 6 course using C++ to create high performance applications on Windows, Mac and Linux. This course also includes advanced topics such as threading, networking, libraries, plugins, databases, unit testing, and application deployment.
This is a followup to the Udemy Qt 5 Core for beginners and intermediate courses and picks up where they both left off. It is highly recommended to take those courses before attempting this one. In this course you will learn how to work with threads, sockets, libraries, plugins, unit testing, and application deployment across multiple operating systems.
Threads help make your applications lighting fast. You will learn threading best practices, along with some common misconceptions and mistakes. Additionally we will dive into thread pools which are highly fast and efficient use of threads. And we will cover how to simplify threading using the Qt Concurrent Library.
We will cover general networking concepts along with who to use both TCP and UDP sockets to communicate with remote servers. This course also covers how to use SSL encryption to maintain a secure connection with the remote host. Later on in the networking section we will demonstrate how to make a basic TCP server, then combine threading and SSL to make a high performance TCP server that can handle a lot of simultaneous connections.
We will teach what libraries are, and how you can easily create your own libraries along with how to use libraries created by other developers. This course also covers shared vs static libraries, and even how to make your application expandable by developing a simple plugin system that allows you to dynamically add functionality to your application while its running without recompiling your application.
This is a broad topic and we will show just the basics of how to use the Qt SQL libraries and vendor drivers to connect to and use databases. We do demonstrate a few concepts using MySql.
This course will teach how to use the Qt Test library, which will help you perform unit and data driven tests on your application. We will even cover how to perform some simple bench marking to spot performance issues in your code.
Deploying your applications to end users is both an art and a science. While there are millions of ways to deploy your applications, we will show some basic techniques for Windows, Mac and Linux. In case you need to have a custom deployment, this course does cover how to compile Qt in both Dynamic and Static linking, which allows you to choose between having a dependency tree or an all in one application.