What you'll learn:
- Qt 6 Core
- Synchronous coding
- Asynchronous coding
- Threaded coding
- Threading concepts
- Synchronizing threads
- Qt Concurrent
- Futures
- Getting future values
- Synchronizing future values
- Thread Pools
- Semaphores
- Mutexes
- Networking concepts
- Sockets
- UDP Sockets
- TCP Sockets
- Host Addresses
- Network Proxies
- Ssl
- Ssl Sockets
- Network Access Manager
- Creating libraries
- Loading libraries
- Shared libraries
- Static libraries
- Plugins
- Dependency trees
- Database concepts
- Plugin loader
- Database drivers
- Connecting to databases
- Work with databases
- Unit testing
- Data driven tests
- Test failure handling
- Deploying application concepts
- Deploying to Windows
- Deploying to Mac
- Deploying to Linux
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.
Threading
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.
Networking
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.
Libraries
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.
Databases
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.
Testing
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.
Deployment
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.
Featuring closed caption in: English, Hindi, Korean, Spanish, Traditional Chinese