Believe it or not, this is a similar problem in web development. Every week or two there is always some new and shiny framework that is top dog and a must use. My best advice is to just pick one framework that you’re comfortable using and stick with it. Ignore the new and shiny beyond that and focus on your app. Otherwise you’ll be chasing the dragon forever.
The microsoft way is probably still WPF, yea. Though there are some articles every once in a while asking "Is WPF dead?" etc
A good alternative is Avalonia, syntax wise pretty close to WPF, but more community driven and cross-platform
WPF with ... C#? C++/RT? ... is there any place I can get this info from MS so I don't always have to ask friendly strangers on Lemmy? :D
Are you sure the frameworks you've tried are actually "discontinued"? C++/CX is still supported, it's just not recommended because WinRt is standard-compliant (CX uses compiler extensions) and has some other advantages. UWP is also still supported.
Win32 is also still supported on Windows, and I cobbled together half an implementation using that (but had to do way too much work to have my app not look like Windows 95), but on all other platforms, when the platform vendor makes announcements of moving away from a technology, you don't start a new project on an old platform. So I'd rather use whatever gets attention from MS, and new features, and looks right.
Win32 is the foundational Windows OS interface on which WinRT, C++/CX, MFC, etc are all built. It's not deprecated, it's just very low-level. https://en.m.wikipedia.org/wiki/Windows_API
every time I try, Microsoft comes in a week later and discontinues the current framework in favor of something else.
This is the way.
I have nothing useful to add, as I noped-out to become a full web developer, for exactly this reason.
If I desperately needed to call into C++ libraries, I would just build the whole thing in C++. And you're right, it won't look modern.
That said, it sounds like you're asking the person running your app to give you an unprecedented amount of trust in the modern age (running locally, unsandboxed, running code from unmanaged libraries, presumably outside an app store ecosystem).
If you have users, in that situation, I'm guessing you have a deeply compelling solution.
And if I were in those shoes, I would build it 100% in C++ and let my users live with it looking old school. They'll notice the appearance once or twice, then they'll notice all the more important functionality for a lot longer.
This is definately the way with microsoft. Use this new shiny framework... 18 months later. No Use this one its' much better, just rewrite all your code again! 18 months later....
Maybe Slint is for you? If you so wish, it'll be possible to run it on Linux+Mac too. In the future maybe even iOS and Android (they're working on it). Supports C++, nodejs, and Rust.
Thanks, that looks like a cool project, but this is for a programming language with an integrated UI builder, so using another UI abstraction on top of the native UI would just lead to lots of awkward translation code on top of Slint's.
Learn Programming
Posting Etiquette
-
Ask the main part of your question in the title. This should be concise but informative.
-
Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.
-
Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.
-
Ask about the problem you're trying to solve. Don't focus too much on debugging your exact solution, as you may be going down the wrong path. Include as much information as you can about what you ultimately are trying to achieve. See more on this here: https://xyproblem.info/
Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient