> They release a new framework every 2-3 years and developers are expected to adopt it. But then they drop support for that framework quickly and release a new incompatible one.
Doesn't matter, as a developer you're free to pick whichever you like. You can run VB6 apps on Windows 10. A software I've made on my first job with MFC for NT4.0 still runs on Win10. WPF is awesome, I still pick it now in 2018 when I need compatibility with older Windows.
I think it matters a lot. If I develop an application that's supposed to be in development for many years I want to use a framework that has a forward path to the latest OS features.
> a framework that has a forward path to the latest OS features.
Microsoft usually adds support of OS features into old frameworks. For example, they have added touch support into their 25+ years old MFC.
Technically speaking, WPF gets updated regularly with each release of .NET framework. For example, in 4.6.2 they have implemented per-monitor DPI scaling support.
As a developer, I like stable APIs, and frameworks which don’t break my code with version upgrades.
If I'm starting development on a Windows 10 app tomorrow, with no legacy codebase, and I'm going to target only Windows 10, which framework would you suggest? I want it to be the best of both worlds: when running on a Surface or other detachable with the keyboard detached, it should have no compromise compared to an iPad Pro app in its UX, with fluid gestures, working well with high PPI screens, and so on. At the same time, when running on a system with keyboard and mouse, it should have no compromise relative to a classic desktop app with all the power users expect, like full multitasking.
Which framework provides the best of both worlds?
Not UWP, since it doesn't offer full multitasking and is limited in various other ways like sandboxing that I can't opt out of.
Is there ANY framework that provides the best of both worlds?
Didn't realize, I really like WPF too, hope that executives aren't trying to push too many efforts towards whatever they think the trends might be, I tried Xamarin for mobile but ended up switching to Android Studio and just targeting there.
"Preparrrre for Q#........" (jk on that....for now)
You can but it would be better for developers if you could rely on a framework being developed rather than frozen in time. I'm pretty sure there are no classes supporting touch in MFC.
Doesn't matter, as a developer you're free to pick whichever you like. You can run VB6 apps on Windows 10. A software I've made on my first job with MFC for NT4.0 still runs on Win10. WPF is awesome, I still pick it now in 2018 when I need compatibility with older Windows.