I first worked with Qt more than 20 years and it is still here. Amazing. I am not sure, if Flutter/Dart will have that long lifecyle. C/C++ is eternal still the language of the universe. Even Dart is written in C/C++. Every OS and library are witten in C/C++. All other languages are just consumers of modules/packages written in C/C++. Java, Python are written in C/C++. I see that Qt is still your primary topic, and having an excellent source to learn, like your classes on Udemy or here is enough reason to pick Qt and C++ even in 2022.
A lot of the time it seemed you were comparing Flutter to C++ or other languages, not to Qt. That's not that helpful as C++, Python, etc. are languages and Flutter is a framework. Specifically, the popularity, etc. of language says little about a framework written for it and its pros and cons versus any other framework. The framework's language bindings are but one criterion, and for lots of people, it isn't that important. Picking up a new language to leverage the benefits of a framework is just a one aspect of the framework's learning curve. In the Qt world this may be QML. In the flutter world it's Dart. In the Kivy world it's Python and kv. Etc.
Fair point, at the time Flutter really did not fully support FFI - now it does so you can integrate with C++ (huge game changer) - Flutter has been changing so fast its hard to keep up with and I have thought about re-doing this video
Great video. You mentioned C++ to start - how do you feel about QtQuick vs QtWidget in 2021? Starting a new windows C++ control panel app, and historically QtWidget would be the way to go for a desktop app, but QtQuick seems to be the future. This control panel would be an audio-control style UI, with a C++ systems model supporting the UI. Thanks :)
I think that QT is the option if you want some serious cross platform software especially that include controlling computer hardware, and network. QT is good for big data analyzing performance and hardware control because it uses c++ which is closer to machine language compared to flutter. QT licensing is expensive and only serious projects can afford the cost
Flutter app's start up time is faster than Qt apps on mobile for new devices. But Flutter doesn't work for old devices which has low rams. Qt apps can work on 350 MB RAM devices. Flutter's debugging system is better than Qt for mobile devices. But I prefer Qt because it is faster and more stable.
I wonder if a simple multi-platform Win+Mac+Linux desktop application using buttons, text views and TCP sockets can be easily done out of the box with Flutter. I see other videos stating that even this can be a painful process.
i think some things wrong in your video you started dart and flutter from very early stage and i think before version 1 (v 0.44 ?) and i think from v1 that announced 2 years ago didn't change to much (actually i think not thing) and about dart. dart adapted for declarative UI and dart team add new features to better work with flutter. about packages, flutter had poor package support for some features but now has better packages (i think flutter steal is young framework and need some time )
I'm new to development, but I've recently started with flutter. I've heard people say something similar about dart like why didn't Google choose to go with js. What's wrong with dart? Is it that it's more difficult to learn?
@@VoidRealms I've recently started with flutter, but I've thought about starting to learn python. Does python have any packages issues like flutter has? Would you say that python is more reliable in terms of its flexibility to create any app?
@@cameronjames7104 Python is a bit more mature but yes Python does have similar issues...once you dive into packages you are at the mercy of the author. highly recommend you join the voidrealms facebook group - 4k developers in there including me- facebook.com/groups/1400884323467285
Bruh.. it would have destroyed the point of flutter (to be able to compile to native code). That's just more trash comparison. People generally ask why Google didn't chose Kotlin. But I think dart is one of the BEST language I have ever worked with
I think in one way we can use flutter on embedded devices if we set embedded target to run android or android things. But i will be completely echo with your views on this.May be in near future qt company going to offer more in gpl(open source domain) to compete with flutter.
I had to make the decision recently between qt quick, react native, and flutter. I went with react native because it has the largest developer community, and the best native support for mobile. If I needed embedded, qt hands-down. In a year or two… Flutter might be a serious contender. I do like dart over JavaScript.
Yes, Dart is a typed language, if you ever worked with the safety and robustness of a typed language, you dont want to pick javascript or python. But, TypeScript is absolutely brilliant and meets all requirements. So, React Native with TypeScript is a very strong contender. But, Flutter now has desktop incarnation and that alone made it a hell lot more appealing for business app projects. But, Dart is still is in its infancy and it has no, for example, native SQL Server client library while C/C++ and JavaScript/Typescript have. And this video excellently explain how long road Dart has to go to reach maturity.
I personally prefer React Native over Flutter easily. And both of them BY FAAAAAR over QT. Both react and flutter allow you to easily go from a UX Design to a fully functional Ina very fast time. Absolutely the way yo go for modern native looking apps. UX es VERY important and QT is too far behind at this point (I think telegram is the only REAL native looking modern app made with QT that I can thing about of the top of my head)
@@sebastiangudino9377 totally agree that qt has the stink of the 90’s on it, but it’s still the only game in town for embedded. But… rust is catching up quickly (no pun intended).
I would actually like to see more with regard to QML. Started messing with that, like that can also use JS in it as well (JS will always have a special place for me as that was actually the first language that I learned all those yrs ago when both the language and I were young).
Which is precisely the problem with QT - the whole reason for using QT is that it brings C++ performance to the table. But with QML people are tempted to write more and more application code in javascript - it's easy. That's a problem not only for performance, but architecture: business logic creeps into the ui, and that leads to problems down the road. If you can be disciplined and use QML *ONLY* for ui description and behavior, it can work better, but it's still a frankenstein. And, if you're working in a team, you'll find team members constantly crossing the line and polluting ui code with business logic. If you're going to write js, do it on a platform for which it was created: browser, nodejs, or even electron. (I was a QT contract developer for many years. I moved over to js precisely because of the above argument. Now, with the advent of Flutter 2, I'm taking a much harder look at it.)
@@rickberger4081 The problem with flutter is dart. As far as I know, thats the only place for it. Like GDScript for Godot (I do like GDScript don't get me wrong). Knowing it is useful only in one area. While I can still use JS for other things, like use it with Deno(I do prefer that over Node) or even client-side or just for regular scripting. I think JS gets a bad wrap for what it was back in the mid 90s. Now with QML, if I am not mistaken could decouple the JS engine and still use just C++ as well. The thing with C++ is that it GUI frameworks are still lacking outside of Qt, I tried to get CopperSpice to work (a fork of Qt4 originally), but that didn't go over well and there really isn't a lot out there on it. Outside of Qt, the others don't really come close for C++.
@@WildWestDesigns >> The problem with flutter is dart. As far as I know, thats the only place for it. True and fair enough. That's ameliorated significantly, I think, by their broadening the platform base, so I don't see the Dart constraint as that much of an issue. >>The thing with C++ is that it GUI frameworks are still lacking outside of Qt... Also true, as far as cross-platform frameworks go. I worked with wxWidgets for a while - not bad. Had to use boost signals for signal slot mechanism and my own openGL layer. The great thing about Qt is that it is self-contained - you don't have to go outside for anything - even openGL (just reiterating your statement that nothing else comes close.) There's always limitations of some sort, though. One could make an (obliquely) similar argument about browsers - the only language they support natively is JS: it's JS or nothing. Any other *UI* implementation based on JS embeds a browser. You can even embed a browser widget in Qt (which can only use JS.) (Did that once so I could use D3JS inside a Qt widget. Interesting exercise. :b ) >> Now with QML, if I am not mistaken could decouple the JS engine and still use just C++ as well. You won't get a Qt gig doing that. Everyone wants you to use/have QML. And really, it is great for describing the UI - you can do some terrific things with it. The problem is the client/boss/other team members eventurally want you to migrate business logic up to the QML layer, because it's easier to write JS than C++ (and, because Qt embedded the whole danged engine, you can do that. One of their samples is an entire application written in JS.) (Why not just use a browser? one would ask...) It would have been far better had they clipped features out of the engine they're not using for ui description. Not sure if that would have been feasible - but it would have been better.
@@rickberger4081 You can use QML with C++ and you can with QT6, unless they changed it, compile WITHOUT the JS engine if you aren't using JS. I'm pretty sure that I read that. However, keep in mind, I think even Qt is trying to move away from C++ as it is. It sure seems like it and I think a lot of of people want to get away from C++. I mean that would explain the interpreted language craze where we had interpreted languages for interpreted languages. Here is the thing though, people go to JS for a variety of reasons, but I would the biggest one is that it's easier, just like Python is easier. I think people give JS a bad rep due to how it was back in '95 and they act like it hasn't evolved since (now, was it a good or bad evolution, depends on who you talk to I think). I don't think people are going to Dart for Dart. They are going for Flutter and they have to deal with Dart. Now, is it the case of just a shinny new thing and people think always having to go with the latest and greatest? I don't know why people are obsessed with the next "x" killer or why there has to be the next "x" killer. As to the Qt gigs, that's a non issue for me. It may be a concern for others, but not for me. It's just me, myself and I and I don't have anyone over me that would determine what I can use or how I can use it (as far as what languages I choose), I may not make the best choices, but they are just mine to make. Shoot, I have written programs in Godot (not just games, but actual typical desktop programs). I'll use what I'll be able to get solve the problem in the most efficient timeframe and since it's just me, I also opt for the quicker route as well. I have toyed with the notion of going Mono with Avalona UI as mono would work with Godot as well. Now, I am a huge Qt fan, the framework, I use KDE based Linux distros even, but I probably won't be updated any apps that I have created going forward given what's gone on the past year. That may change, but as of now, not so much. I honestly hope KDE forks it and goes their own way. Won't be easy, but I hope that they do. I have to wonder if this partnership is viable again with what's gone on this past year, but this is just my opinion, so take it for what's worth.
My problem qwith QT is the nonsense of massive extreme overprice for the framework (if you are not doing opensource). I understand that a lot of people up the chain needs to drive Ferrari's from the bedroom to the living room, but... those prices are insane.
Qt vs Flutter sounds like Unity vs Unreal Engine in a sense. Unity isn't as slow as Qt but major engine updates take months, and I kinda like that. However, Unreal Engine, yeah... it pops out a new version every few months which I guess isn't bad, but like Flutter, it rapidly deprecates APIs and how to do things, made worse by its utter neglect for solid documentation. Unreal is powerful, but Epic has a habit of pulling the rug out every few months. I mean, I get it, gaming and tech is evolving, but geez, at least have the courses on it last a few years without being utterly deprecated.
Man, I would be sad to see Java die. I mean it feels easy to use for me and I just got some kind of solid knowledge about it :/. Especially the stream API.
Thats a fair point - but at the time of this post I do feel Dart / Flutter is more competition for java / c# and to some degree python - i would LOVE to see dart run everywhere, and that may happen someday
We started 4 years ago in our company using Flutter for a couple of business application projects, I was an enthusiast advocator of Flutter/Dart at that time. I still love them. Now, that Flutter has recently gotten desktop incarnation, Dart/Flutter almost reached the maturity to be taken seriously. But, C++ is a brutally strong point in favor of Qt. Dart is just another language competing with Python, TypeScript, C#. But C/C++ is the mother of all languages, nothing can be compared to C++, it is eternal.
I found flutter’s documentation much much much more better than qt’s . I have to dig in to someone’s blog to figure out how to display a fcking tree view in qt quick. Also learning the “qt flavored c++” is arguably harder than learning a new language.
To be completely honest, I think flutter/dart is the way to go. It splits native code and gives you relatively small apps size compared with javascrip 😉. But that's my humble opinion 😉. And, man, the community arround dart is growing huber fast
I agree flutter has changed a lot and they are starting to target the embedded space as well as desktop The entire ecosystem is going to reinvent itself over the next few years and probably dominate most of the markets
Bonus points for Michigan, but it's pronounced "cute" - off their wiki - Qt (pronounced as "cute", not "cu-tee") is a cross-platform framework that is usually used as a graphical toolkit, although it is also very helpful in creating CLI applications.
I think Rust will die after 10 years from now since Rust is complex and steep learning curve and may be offer some better properties than C++ but all these properties will replace with better one in C++30, C++ will not die because it evolve slowly without breaking the code and maintenance the speed. believe me even Mozilla itself will dump Rust and use C++30 😉😉😉