Whatever happened to incremental adoption? #987
-
The README for the Windows App SDK says:
All of these statements are blatantly false. For no apparent reason, the new features in the App SDK cannot be integrated into an existing project. While CoreWindow (and its associated lifecycle requirements) have since been deprecated, and developers now have the option of adopting the AppContainer instead of being forced to, there is still no support in WinUI 3 for integrating it into previously developed applications whatsoever since WinUI 3 will not support XAML Islands. This rather important feature is currently listed under the “coming in some version, at some indeterminate point in the future, if we even decide to do it at all” column. Between this and the requirement that you use the WinUI Application class as your entry point if you want to use the WinUI Window class, you must recreate your codebase from scratch if you want to use WinUI 3 and move from whatever it is you’re currently using to WinUI 3 all at once. And that isn’t even mentioning the plethora of bugs and missing features in WinUI that make writing a quality app from scratch almost impossible. Furthermore, while it is technically possible to use MRT Core outside of a WinUI 3 app, doing so is not officially supported “at this time” and you still have to deal with MSIX package deployment issues (either through packaging your app in an MSIX package, or installing the one that is part of the redistributable installer). There is no support for true XCOPY deployment, or for situations where MSIX packages are blocked from installation for some reason (probably by the administrator). This is a problem because ever since the initial release build of Windows 10 seven years ago, and now going into Windows 11, the only way for an app to be able to use all of the platform’s new shiny UI features is for it to use WinUI 3 (or its predecessor, UWP XAML). For some reason, these features are never backported to Win32/Windows Forms or WPF, despite Microsoft’s declarations to the contrary during the Windows 11 announcement. (Yes, while the UXTheme bitmaps are being updated to match the new light WinUI theme, proper support of Dark Mode still requires that you use WinUI 3 AFAIK.) And to top it all off, the lifecycle documentation states that support for older versions of Windows will be dropped aggressively, which makes it even harder to incrementally adopt WinUI 3 because you will then need to constantly rewrite your app to keep up with not-always-backwards-compatible changes to deployment systems and feature access techniques (e.g. MSIX Dynamic Dependencies). |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
I believe XAML Islands is a feature coming after 1.0, but its just not ready at launch. |
Beta Was this translation helpful? Give feedback.
-
Can you check these samples and see if they help with your scenario? https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/MrtCore/wpf_packaged_app |
Beta Was this translation helpful? Give feedback.
Can you check these samples and see if they help with your scenario?
https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/MrtCore/wpf_packaged_app
https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/MrtCore/console_unpackaged_app
https://github.com/microsoft/WindowsAppSDK-Samples/tree/main/MrtCore/winforms_unpackaged_app