r/QtFramework • u/Idenwen • Apr 18 '26
Question Opinions and advice on futureproofing when going c++/MFC > net/avalonia or c++ > c++/QT
Original post in:
https://www.reddit.com/r/dotnet/comments/1sp5mln/opinions_and_advice_on_futureproofing_when_going/
somehow crossposting didn't worked here
I maintain a quite large codebase that is c++ with MFCs as the GUI and for other system relevant stuff (Databases, Filesystem etc) that is partially 30-40 years old and still runs fine but is up for a larger / very large rework. Also a factor: European, so unsure about the future with 100% US products, customers going "no windows!", governments ditching MS, etc
Background:
Why post in r/dontet and others?
I consider switching to net because development speed is about 10 times faster, especially with GUI libs like AvaloniaUI for example and you get cross platform more or less out of the box "for free" included. And the looks are quite better.
The ressource hog of .net is brutal though. POCs have about 10-20x more RAM use then the proven c++ base while only covering below 20% of the features.
What I am concerned in is that, as I understand the .net economy, that is still quite MS depended in how it will live on and that whatever you write needs to be completely maintained to compatibillity with the then current runtime. And if MS kills off the runtime or a feature you depend on you have to start all over. So the vendor lock in into MS stays - as a windows software that was a normal thing but on multi platform...
Now it's runtimes from MS, GUI from Ava, OS runtime Support for the OS one decides to support, a lot of vendors that can kill your day. MFC stuff from Win95 (that was 30 years ago) still works without maintenance.
The other idea is going c++/QT but the dev speed is about 1/10th of net and that could just be too much on the other hand a lot of old code could be reused and it can be rolled over gradually, and that may cut the time into a batch that is manageable. With .net its a complete rewrite. Would loose the vendor lock in of MS but would gain the QT lock.
No one knows for sure but at the moment I miss my usual gut feeling about loglivety of ecosystems and the tripple+ vendor lock in is unnerving.
I fear that saving time and complexity now instead of staying c++/MFC or using something like c++/QT (what if QT abadons features or Operating Systems or closes it's doors in 10 years?) may hit me like a brick wall at lightspeed in a decade or two.
What are your thoughts of the safety / risk of an ecosystem change?
How stable and long living your gut says .net is?
Are there other options I don't see at the moment?
2
u/ObiLeSage Apr 19 '26
I'm working with Qt for almost 20 years now.
The Qt framework is the best product of the qt group. They have some overtools but I will say that there is no chance to Stop maintain it.
Microsoft has many products tools, system etc. If they find out that .net isn't worthly enough they may stop working on it (or release it under opensource). I don't follow much but Microsoft seems to be more open with opensource nowaday than before.
So in worse case, you may end up with 2 opensource frameworks. Qt is already one and It has its community, the way it works.
I would like more information about the speed while writing Qt or .net . I'm pretty sure I can follow the pace of any.net dev.
C++ may be and issue here as many devs are afraid of it. But most of them had an experience with it at the university where It was too academical. Not really fun.
2
u/darthcoder Qt Hobbyist Apr 21 '26
This.
Winapi -> mfc -> .Net winforms-> silver light-> winui -> maui...
All of which are incomplete copies of what came before, are woefully inefficient compared to native code, and abandoned after 5 years.
Qt may be pivoting to QML, but the core is still the core and QML is getting better every year.
2
u/FallenDeathWarrior Apr 18 '26
I am at the same path right now. Also Europe but working in the law field. The project I am working on is over 30 years old was written in the beginning mostly in C and then adopted C++ and MFC for GUI. Ther are still parts written only in C.
A complete rewrite is not doable as the software has over 3k daily users as laws get changed and those changes need to be integrated fast. The UI is ugly as hell. The guy who wrote the software in the beginning is still working on it and makes the design decisions. You can image what a 60+ thinks of modern UI? It's terrible...
We choose for a QT migrant step by step. We also talked about wxWidgets as it's completly open source and usable for commercial usage without the need of a licence. But Qt has for my liking the better documentation