 Hello everyone, this is Brian and this video is about Qt6Alpha. This was a viewer request off my YouTube channel. I get way more messages than I can ever keep up with, but once in a while I do peek and try to find something interesting. The question was, what is going on with Qt6? Well, it's the next big release. So they wanted to know, what's going on with Qt6? What do we know so far and how do you actually play around with Qt6? Well in August 7th, 2019, we've been over this article before, but quick refresher, they said, we're going to make some changes. They said, we're going to have next generation QML introduce strong typing. Now what does that mean? Strong typing. Well, the opposite of strong is weak and weak typing means you really don't have to have a type that QML would just try to figure it out, kind of like how Python does it. Strong typing means you're going to now have to declare your types. You're going to have to have a strong type. Dart kind of did the same thing. It was a complete train wreck when they first launched and then they turned around and said, you know what? We're going to do strong typing. Point in case pretty much most of the major languages out there that start off with weak typing switched to strong just because it's easier to support. So really what they're doing is they're going to support this better. They're also going to make JavaScript an optional feature of QML. This is really, really great. Having a full JavaScript engine when using QML can complicate things and it's overhead especially when targeting low end hardware. So for low end hardware, we're talking to you, you embedded developers, you don't need to have a full JavaScript engine. It's now optional, which will speed things up for you. They're also going to remove QML versioning. This is a huge win. I love this. Oh my gosh. I hate QML versioning. It drives me crazy. Now, what does that mean? There's still going to be versioning. It's just that it's going to be under the hood and hidden and you won't have to deal with the complexity. And they're going to remove duplication of data structures and they're going to avoid runtime generated data structures. Both of these really can sum up to, they're going to make things faster. Another big takeaway is they're going to support compiling QML to efficient C++ and native code. Whoa. Shut the front door. What does that mean? Oh my gosh. That means your QML especially on embedded devices will run at the speed of C++ because it will be native code. That is awesome. So now you're going to have blistering fast graphics, streamlined internals and your QML user interface is no longer a script. It's actually native code, blistering fast. They're going to have next-gen graphics baked right into it, unified and consistent tooling and the rest of this just kind of goes on and on. If you really want to dive into it, you can. But really what they're talking about is incremental improvements over time, but they're going to have compatibility with Qt 5. That's the major challenge with Qt. Qt's been fairly good about backwards compatibility. In September 1st, 2020, Qt did a feature freeze, which means they're not going to add any new major features and they're not going to make any major changes. But then of course, September 30th, they turn around and say, Q-less changes in Qt 6 and now they're actually making changes. What I suspect and I have no knowledge, I have no insider knowledge or anything, but what I suspect is they just realize, hey, it just makes sense to take Q vector and Q-less and unify them. So going back to our compatibility with Qt 5, don't be super afraid of this. I actually did peek out on their website and the documentation for Q-list, excuse me, looks very similar to Qt 5 and I would say it's almost completely compatible. Haven't tested that yet, but we're going to in future videos. Basically, the reason why they're doing this is Q-list had some slowness and some limitations that aren't apparently obvious until you get in and start doing some really serious work with it, at which point usually you end up switching to Q vector because it's just better in almost every sense of the word. So they're going to unify that. All right, so the next question was, how in the world do you even install it? Well, a lot of people are going to be inclined to hunt through their menus and look for it and they can't find it and they're going to get really frustrated. But you want to go out to wherever you have Qt installed. If you're on Windows, it's probably like C program files or C program files, 86 or 64 or whatever it's been a minute since I've been on Windows. But C program files and then look for your Qt folder and then look for this maintenance tool. It may actually be in your menus. Everybody else is pretty much going to have to go out to where it's installed. If you're on Mac, you're going to have to right click Qt and actually go into the actual package and find it. So anyways, the maintenance tool run this bad boy. It's going to look eerily similar. So this is the thing that actually updates in the background. Whenever Qt pops up and says, hey, there's an update, and you're like God, not again. This is what it is. It's the maintenance tool. Just going to click next. And yep, you now need to have a Qt account. Everybody's like, oh, come on. Don't worry, you're not going to get a ton of spam. I have a free account. I do not have a paid version of Qt. And I barely get any emails from them at all. I'm actually kind of wishing they would send more because I want to know what's going on. Hit next and it's going to fetch repositories. You probably saw down there where it says fetching license. You don't have a license. It just says fetching license. Be very careful when you get to the screen because what's selected? Remove all components. If you were to hit next, you're going to have a long, long day reinstalling Qt. So don't remove all components. We want to go to add or remove components and hit next. And it's going to take a minute to hit the remote repository and figure out what's available versus what I have at the speed of my internet connection. Come on, let's go. There we go. And this is where a lot of people get super, super frustrated because they're going to go, wait a minute, I don't even see Qt 6. What you need to jump over here to this little guy right here and check preview. Then click the filter button. And again, it's going to go out, hit the remote repository and voila. You now have this preview. There we go. You see Qt 6 alpha. Now, if you just go and click that, you're going to have a big, big download. So you don't really need all this just to test Qt 6. And a bare bones basic, really you need the desktop. Now this is the pre-built components for the desktop. This is going to be changing drastically over the next few months. So don't get too deep into your code. But what I'm going to do in future videos is I'm going to download this. By the way, to download that, you would just click next. Then it'll say set up is ready to begin. It's going to take one gig, just comparison if you did everything. All of Qt 6, you're talking six gigs. So be careful. But I'm going to install this and I'm going to run some of my legacy code through it and see what works and what doesn't work. And hopefully maybe knock on wood, make another video with some comparisons. But I just want to call out really to test this. You need desktop. You're doing any Android. It's got the pre-built components for ARM 7, ARM 64, V8A, x86, x86, 64. You of course have these sources. You quick 3D, Weyland compositor and the Qt 5 compatibility module. Special note about that is it has some licensing requirements. Now, when I say licensing, everybody gets all offended about Qt. It also says literally right here or under GPL v3. I know some people hate v3. Some people love it, but it's there for a reason. But they are really, really trying to make Qt 6 backwards compatible. And if it's just not, they're not just obliterating the features. They're giving you the ability to still use them until you can migrate off to something else. And they have Qt quick timelines. Say that 10 times real fast. Man, they need a better name for that. Along with the shader tools, which is something I really haven't played around with too much, but that may change. And of course, 3D studio and the release candidate for Qt creator. So if you want all the latest and greatest, you just check that and check that. And you're going to have a much bigger download. Almost seven gigs on my Linux box. I'm sure Windows would be much, much bigger. And you'll have different things and compilers and things of that nature. So, buyer beware, be careful what you check. I would just go, when in doubt, just go with the desktop just to play around. If you liked this video, go ahead and like and subscribe. And if you want to chat sometime, I'm usually hanging out in the Void Realms, all one word, Void Realms Facebook group. We have 4,000 members. Most of them are Qt and C++ centric. However, we talk about literally everything. I think the other day I was asking about some video recording, someone else was asking about Python, another person was saying, hey, what motherboard should I buy? Pretty much anything technology related. And if you're so inclined on you to me, I am going to feature freeze all of these. These are all Qt 5 and I'm going to record all of them with Qt 6.