Replies: 20 comments 148 replies
-
Hi I'm an AI powered bot that finds similar issues based off the issue title. Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one. Thank you! Closed similar issues:
|
Beta Was this translation helpful? Give feedback.
-
Component Vendor Support for WinUI3All the component vendors already know it. TelerikThe two "under review" haven't been updated since about a year. Ref: https://feedback.telerik.com/winui SyncfusionThe WinUI roadmap for 2024 includes only improvements to shared components (i.e. improvements are made for multiple platforms) but nothing specific to WinUI3 controls. Ref: https://www.syncfusion.com/products/roadmap/winui-controls DevExpressThey are explicitly stating that their WinUI3 components are dead: Ref: https://supportcenter.devexpress.com/ticket/details/t1206625/winui-3-the-roadmap-in-2024 |
Beta Was this translation helpful? Give feedback.
-
ConsequencesIf this turns out to be true, this would be a severe incident: 1. You owe me two days of workFor creating the Pull Requests, since I didn't know that they'll be never even looked at due the product being abandonded. Same goes for the effort that so many people have taken in order to submit bug reports or create design proposals. 2. Have Microsoft Representatives been Lying to the Developer Community?This needs to be evaluated. Behaving as if all would be fine and the product would be continued is quite close already. And I recall statements like "all developers are working on WinUI3 now" which I think were made after 2022 and after stopping development (largely), When the UWP bugs were all closed, it was promised that issues will be better handled in the future and it won't happen again. |
Beta Was this translation helpful? Give feedback.
-
I don't think so, it looks like a technical reorganization, nothing is brand new (uwp equivalent). Apart from the fact that I can't figure out why the designer isn't being offered, but it's very much trending the blazor of the dotnet community looks like it's going to win this one. |
Beta Was this translation helpful? Give feedback.
-
WinUI is mismanaged and woefully understaffed. I wrote a post up a while ago which got a lot of traction. Either close this repo and make it internal only and pretend that it's under active development or put it out of its misery. I love WinUI and it had great potential and traction but all good will has been lost by the lack of comms out of Redmond. Remember as well this whole UI framework and stack (WinRT) is as old as Windows 8. DPs of Win8 were available in 2010 or 2011. That makes the tech at least 13 years old. Appalling when you consider how much Android and iOS have iterated over that time. |
Beta Was this translation helpful? Give feedback.
-
My suspicion is that they have pulled off the majority of developers to work on something new. Maybe they'll call it WinUI4 to make the whole story not appear even worse than it does already, but it must be on a very different technical basis. If it was a continuation only, they could have backported fixes and wouldn't have to invest into Xaml Islands. Also the component vendors wouldn't have had to pull their efforts if it wasn't something technically different that is coming. And it's clear that something must be coming: the framework gap on Xbox needs to be filled. App development for xbox is not abandoned, WebView2 for Xbox has just been released in November and UWP is been given up, so there's an obvious gap as Xbox is meant to stay. |
Beta Was this translation helpful? Give feedback.
-
Also the fact that they even converted this serious issue to a discussion to show us how much they don't care: #9154 ...Or at least they don't care that this UI framework is only usable for simple mobile-like apps and don't care that it's unusable for any complex business application. I seriously doubt that something like Visual Studio could be made with WinUI 3, so it's not a replacement for WPF. |
Beta Was this translation helpful? Give feedback.
-
PredictionWhenever they will respond to this, directly or indirectly, one of the first statements will of course be saying that WinUI3 is not dead and will continue to be supported till the end of days (or at least according to the OS support periods). (Yet, that's what I mean by saying that it's dead) NoteI have no insider information on this subject. If I had (like at some occasions in the past), I wouldn't post about it. It's solely based on observation, inference and deduction (and experience from similar cases). There's a chance that I could be wrong, but I don't think so. |
Beta Was this translation helpful? Give feedback.
-
Unfortunately I think you're right. I just really hope they don't go the web route, even for native apps. But even if they don't, the fact that they're creating yet another UI framework/application model is just... They keep making new and new ones and then replacing them with new ones just 3 years later, and those who invested in the previous technology are s*** out of luck. First (that I remember) Windows Forms, then WPF, then Silverlight, then Windows Phone + Windows 8, then UWP, then WinUI 3… all incompatible with the previous ones. Oh and in parallel, Xamarin and then MAUI. I’m afraid it’s going to happen again to WinUI 3… And then Microsoft says that they "care about compatibility".... while leaving developers who are stuck on the previous thing behind. This isn’t how to treat your developers well, Microsoft… Can’t they for once stick to a single framework and work on making it the best it can be, and making the developer experience the best it can be? |
Beta Was this translation helpful? Give feedback.
-
I should mention that the WPF team has recently been activated and is providing WinUI 3 styles and controls.
Also, I must mention that there have been good changes since wasdk v1.5 and we will have good changes in 1.6. |
Beta Was this translation helpful? Give feedback.
-
What's the point of this post? Don't think anything meaningful would come out of this. WASDK 1.5 and 1.5.1 was just out. Community call on 1.6 roadmap is posted. Are you some kind of PR guy to sabotage WinUI just to advertise WPF? |
Beta Was this translation helpful? Give feedback.
-
I feel the slowdown in WinUI 3 fixes and new features is because WinUI 3 is also the Windows component of MAUI. So in this process many bug fixes get postponed and new features/fixes are delayed due to the testing cycle on all platforms. Plus of course the most important is the compatibility between the management of these teams. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone, Mik from Windows team is here, thanks for starting the conversation. Now, it's obviously our platform is not in the place we want to be in the future - there is a big backlog of items that we need to triage and prioritize among different internal and external customers. One of the strongest feedback items we've heard consistently that Microsoft is not using the same technologies we are recommending to developers, and we are working on that too. I think one other area your feedback attributes directly is that our platform is not fully open sourced, we make source code available, but there is not currently a way for community to directly contribute to the release. You can watch the discussion about this topic during our latest WinUI Community Call with specific details. We continue to invest in frameworks Windows developers use. For example, we've recently shared our refreshed roadmap for WPF on GitHub - https://github.com/dotnet/wpf/blob/main/roadmap.md Windows will continue to be an open platform for developers. |
Beta Was this translation helpful? Give feedback.
-
I'm interest in WinUI for about 3 years. But I don't see any advantage compare to WPF yet. |
Beta Was this translation helpful? Give feedback.
-
It's good to see that there is at least one session dealing with Windows desktop application development. The reality is that WPF will be the favored technology for the foreseeable future and the windows app sdk (WinUI) will primarily be used for projects previously developed in WinRT/UWP. WPF is simply more feature complete and easier to use than WinUI. It has much better window management and a working designer. In addition developers are going to have a lot pain if they try to convert any non-trivial application from WPF to WinUI. They'll need to be comfortable with calling into the Win32 windowing API and dealing with UI thread issues as WPF was much more tolerant of handling UI bound property changes happening on a background async thread. Developers converting from UWP will have an easier time because WinUI is essentially the same and things like the designer didn't work great, so they got used to working without one. The real issue is that for Windows desktop applications WPF works just fine, so there isn't a real compelling reason to port existing apps to WinUI. There needs to be a real effort to make WinUI development easier and have more parity with WPF and reduce the need to hit lower level APIs. |
Beta Was this translation helpful? Give feedback.
-
From a Different Angle: Looking at the API Side of WinAppSDKSo far in this conversation, we have mostly put it all into the same corner, even thogh there are two different parts that WinAppSDK is meant to cover:
So could it be that we've been unfair by not differentiating accordingly? Is it maybe just WinUI3 alone and all goes well at the side of the "modern" Windows API? I say NO and I'll try to illustrate this with a tiny.. Developer's DiaryOver the past few months, I've been in charge of developing a new Windows version of a well-established hybrid cross-platform application to replace the predecessors (an Electron app for Win desktop and a WinJS app for Windows Store including Xbox). Replacing it all with a single UWP application has been the original goal, but it soon became clear that we cannot achieve equality with the desktop app when using UWP and it also became clear that UWP would be a dead horse, so it turned out that we need two applications once again: WinUI3 for desktop and UWP for Xbox. WinUI3 was chosen due to the high similarity with UWP to leverage some synergy effects at least. The core application is htmljs based and displayed via a webview - it's the same on all platforms and the native side "only" needs to take care of platform-specific things, but there are a lot of them and it's way more involved than it sounds. Due to the need to develop the same application for UWP/WinUI2 and WinUI3 at the same time and in parallel, I gathered a bunch of first-hand experiences to achieve individual tasks, not only regarding WinUI3 vs. UWP but also with regards to using Windows APIs and I'll focus on the latter because UWP is dead anyway. WebView2 TransparencyIn case of video playback, we need transparent overlay of the webview on top of the video. This is possible on every other platform you can think of, plus many others which you wouldn't even think of (e.g. smart tv's or more exotic platforms). The solution to get around this limitation was: To create a custom implementation of a WebView2 control which doesn't use composition but hWnd overlay within the WinUI3 window. 🡆 So what came to the rescue? The Win32 API! Splash Screen AnimationWe have a complex XAML animation to show on startup. Unfortunately it didn't run smoothly, and even worse: it caused WebView2 startup to get stuck sometimes (sounds like a programming error but it's not). It's just too much happening on the main thread on startup - not in the app code though (WebView2 COM invocations). 🡆 What came to the rescue? The Win32 API! Video Player IntegrationWe are integrating a custom video player which is layered below the (then transparent) WebView2. It must be resized and properly positioned in z-order. Also, we apply rounded corners in non-fullscreen mode to match the rounded corners of the application frame. 🡆 What came to the rescue? The Win32 API! Closing AnimationThe application has its own short animation on close by which it disappears. But Windows (or rather the Desktop Window Manager) also has an animation to show when a window is closed, which of course doesn't match into the picture: A window frame shadow which decreases in size and fades out doesn't make sense when the window has disappeared before already. 🡆 What came to the rescue? The Win32 API! Refresh Rate and HDR Mode SwitchingWe need to be able to automatically adjust the refresh rate of a display (if support) to match the video framerate on playback. Similar for switching HDR Mode on or off for a specific display. 🡆 What came to the rescue? The Win32 API! Network IsolationPackaged Windows Store apps are underlying a stupid restriction which disallows network connections to the local machine (ridiculous imo - not general but that there's a manifest capability for everything but not for this). Even apps running FullTrust are subject to this restriction - but guess what: when running FullTrust, there's a Win32 API you can call to lift this reestriction for your own app... 🡆 What came to the rescue? The Win32 API! HID InputWe need to support remote controls. There's a WinRT API which allows to get and process this input (HidInputDevice), but like usual for those APIs, some hubris addict got hell-bent on inventing rules and restrictions for using this API and unnecessarily decided to disallow receiving certain events (in this case from the "consumer page"). As a result, remote control support is limited on UWP/Xbox but not in the WinUI3 app, because there's a Win32 API through which you can get at all input data without restrictions. 🡆 What came to the rescue? The Win32 API! DPI-Aware Window SizingIn WinUI3, you can get the "RasterizationScale" somewhere from the XAML root. The problem though, is that this value is only populated after the xaml tree is initialized/loaded. 🡆 What came to the rescue? The Win32 API! Theme SwitchingWinUI3 allows changing the app theme (dark/light). It even allows you to change it for a certain XAML subtree. So far so good. This little detail makes the switching feature pretty useless. But - you've seen it coming - there are Win32 APIs which allow to achieve this. 🡆 What came to the rescue? The Win32 API! Application ExitWith WinUI3, there's no way to close your own application in the same way as if the user would have clicked the close button in the title bar. When closing the app programmatically, the regular sequence of closing events is not fired and it exits right away instead. So what we need to do to close our app (like user-initiaed) is to get the window handle and send a WM_CLOSE message to our own app's window - hard to believe but as much true as insane. 🡆 What came to the rescue? The Win32 API! True?Yes. It all happened during the past few months only. The app exists and is completed. ConclusionThis matches my earlier experience with UWP apps and APIs. Whatever you want or need to do - half of the time ecactly those parts that you need are not available or implemented or restricted/forbidden, even though it's easily possible with regular Windows APIs. The WinRT APIs are a useless in many ways and areas. Often unsuitable to get the required jobs done. Each time when you see some statement claiming that those WinRT APIs are meant to be the future of Windows API and a replacement for the Win32 APIs, then be quiet and listen closely - as you might hear me laughing all the long way through the internet (or crying 😆). |
Beta Was this translation helpful? Give feedback.
-
@gitmixen I just finished watching the community call. Thanks for doing the community calls, I will definitely participate in the next one. I feel slightly more hopeful about the future of WinUI after watching that, but I'm still rather reserved with that hope. Guess we will see how it pans out. I didn't see this addressed or mentioned in the call, but I may have missed it as I did fast forward through some parts. What I would really like to see is the basic, fundamental, and (what should be) relatively simple bug fixes addressed, some of which have been neglected for many years and cause us to need hacky workarounds all over the place....things like not being able to use modern C# features (this has caused us a lot of pain with shared code), null value bindings, bindings to base class methods, and binding to values outside of a data template. Can someone please, PLEASE, look at addressing these fundamental usability issues/bugs: |
Beta Was this translation helpful? Give feedback.
-
At the risk of shamelessly plugging, I started a little project this morning to serve as a compilation of workarounds for framework-level features missing in WinUI. https://github.com/peter0302/WinUI.Redemption So far there's a respectable MultiBinding as well as a means of applying bindings as a part of styles. More to come. There really is A LOT that can be done in WinUI even with all its current limitations, but sometimes it requires a bit of relentlessness and creativity. |
Beta Was this translation helpful? Give feedback.
-
As for
That was that the person responsible for creating the section left the team and he used a private account to create it, so it was abandoned. |
Beta Was this translation helpful? Give feedback.
-
Yesterday I made a post (Great News: All Bugs Will be Fixed In the Year 2041) which was meant to be a somewhat funny complaint about the lack of activity in terms of development progress and dealing with user issues submitted here.
Then I made a comparison of activity between WinUI3 and MAUI and those figures are quite revealing when thinking about it:
How can it be possible that MS is investing 20 times more effort into MAUI than into WinUI3 - the new and designated primary UI technology for Windows desktop?
Simple answer: It can't. It can only be possible in case when WinUI3 is no longer the "designated primary UI technology for Windows desktop".
Now I'm shocked to realize that it's way more serious than I thought as so many details suddenly fit together and make sense when being viewed in the light of that premise.
It all fits together
Smaller Bits
Xbox Development
=> but Xbox is not dead. So the must be something for Xbox which is not WinUI3
Cpp/WinRT in Maintenance Mode
as noted by @pjmlp (thanks!):
Component Vendors
DevExpress are offering a few free components but these haven't been updated since mid-2022.
Their blog entries about WinUI3 stopped in mid-2022 as well (https://search.devexpress.com/?m=Web&q=winui3)
They probably know already about the end of WinUI3.
Timely Coincidence
Wasn't it at the same time (2022) that WinUI3 development had started to be driven down?
XAML Islands as a WinUI3 Exit Strategy
When looking at the changes that were made during the past year, then there's only one area where significant work has been put into: XAML Islands. Even though it had been requested by users earlier, it's not a most-wanted feature, but still, MS picked exactly that part as the one major subject of work.
XAML Islands allows to integrate WinUI3 content as "islands" when using other UI frameworks. Why is this so important? Who needs this other than a few with very specific use cases?
When customers want to modernize their applications, who would start by implementing something in WinUI3 which is then shown like a control/window within a WPF or WinForms app? Normally, such migrations would rather go the other way round: starting with a new application framework and subsequently migrating legacy components. But that's what is not being worked: There's nothing like a hWnd-Panel (which had also been requested by users).
Bottom line: When establishing a new framework for app development, then it's usually crucial to provide ways for developers to integrate legacy components into the new framewrok to allow subsequent migration, but not the other way round. Provisioning for the other direction only (and also as the only major change) can only mean that this is the end of the road for WinUI3, and XAML Islands are just implemented to soften the impact for affected developers enabling a life-after-death existence for WinUI3 components.
MS, when did you plan to make the RIP announcement?
And what will be the replacement?
Beta Was this translation helpful? Give feedback.
All reactions